Каковы неудобства создания загрузочного USB-диска Windows 7 из Linux с помощью ms-sys или dd?


9

Я читал некоторые веб-страницы и посты (здесь и на других форумах) о том, как создать установочный USB-носитель Windows 7 из Linux (для установки Windows 7)

Я спросил об этом в TechNet и получил ответ с общей информацией о том, как это сделать:

«Лично я не очень знаком с Linux, но в основном все, что вам нужно сделать ... независимо от того, что вы делаете, это следующее:

  1. Отформатируйте флэш-накопитель USB, либо fat32, либо ntfs создайте раздел, достаточно большой для размещения установки Windows (дайте или возьмите 3 ГБ для 64-битной, aroudn 2,5 ГБ для 32-битной) и пометьте этот раздел как активный / загрузочный. Поскольку это можно сделать с помощью окон, но так же, как и с помощью инструмента, подобного gparted, вы должны быть в состоянии сделать то же самое в Debian.

  2. Создав этот раздел, смонтируйте загруженный iso и скопируйте все файлы, начиная с корня, в корень флешки.

Это все, что нужно. "

В разных местах я нашел другой метод, почти такой же, как упоминался в TechNet. Однако в этом методе, по-видимому, отсутствует шаг и / или шаг, который, я не уверен, необходим.

ddне всегда работает По сути, пропущенный шаг заключался в записи правильного загрузочного сектора на флешку usb, что можно сделать с помощью Linux ms-sys. Это работает с розничной версией Windows 7.

Вот полное изложение, см. Вопрос об ошибке сервера для более подробной информации:

  1. Установите ms-sys .
  2. Проверьте, какому устройству назначен ваш носитель USB ( fdisk -l) /dev/sdb.
  3. Удалите все разделы, создайте новый, занимающий все пространство, установите тип NTFS и установите его загрузочным:

    cfdisk /dev/sdb

  4. Создайте файловую систему NTFS:

    mkfs.ntfs -f /dev/sdb1

  5. Mount iso и usb media:

    mount -o loop win7.iso /mnt/iso
    mount /dev/sdb1 /mnt/usb

  6. Скопируйте все файлы:

    # cp -r /mnt/iso/* /mnt/usb/

  7. Запишите Windows 7 MBR на флешку:

    # ms-sys -7 /dev/sdb

  8. Убедитесь, что запись сброшена (наберитесь терпения, это может занять несколько минут):

    # sync

  9. откройте gparted, выберите USB-накопитель, щелкните правой кнопкой мыши на файловой системе, затем нажмите «Управление флагами». Установите флажок «boot», затем закройте

...и вы сделали.

Вопросов

  • Разве USB не должен работать без последнего шага # ms-sys -7 /dev/sdb? Или это сделать USB загрузочным? Разве он помечает раздел как загрузочный?

  • Не лучше ли использовать rsync вместо cp -r?

  • Все ли эти шаги нужно сделать как root? Если нет, нужно ли мне chmodвсе файлы 664и chownвсе каталоги, которые используются для подключения устройства USB и образа ISO? Я полагаю, что проще скопировать данные, поскольку rootони не влияют на данные.

  • Кто-нибудь пробовал этот метод или что-то подобное, как копирование iso с dd?


Я использовал dd с iso, но не для Windows 7. Вы можете проверить, работает ли это: superuser.com/questions/591234/…
xsdf

Ответы:


1

Команда ms-sysважна. С помощью этой -7опции он создает загрузочный сектор, совместимый с Windows 7, на вашем флэш-диске.

Вы не можете использовать dd, потому что ISO используют файловую систему ISO, такую ​​как UDF или ISO9660 , где ваш USB-накопитель только должным образом поддерживает файловые системы диска, такие как ext3, FAT32 или NTFS.

Было бы лучше использовать rsync вместо cp -r?

На самом деле, нет. cp -rотлично работает Просто поймите, что NTFS обрабатывает разрешения по-другому, чем Linux, поэтому использование rsync для сохранения целостности не имеет большого значения. Все, что действительно имеет значение, это то, что файлы из ISO находятся на USB и что загрузочный сектор отформатирован правильно, используяms-sys -7

Вы можете сделать все шаги как root, если хотите. Единственные 2 шагов , которые действительно требуют корня mkfsи 2 mount«s

Если у вас возникают проблемы с правами доступа даже от имени пользователя root, вам может потребоваться смонтировать USB-накопитель, так ntfs-3g /dev/sdb1как некоторые дистрибутивы Linux предоставляют драйвер только для чтения для NTFS.


1

Я попытался с dd (dd if = / file / win7.iso из = / dev / sdb), и это не работает.

Мои шаги, чтобы заставить это работать:

  • Установите ms-sys
  • gparted для создания раздела и создания файловой системы NTFS.

Затем примените эти команды:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.