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 не всегда работает. По сути, отсутствующим шагом было записать правильный загрузочный сектор на флешку, что можно сделать из 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 ?

2 ответа2

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 шага, которые действительно требуют root - это mkfs и 2 mount

Если у вас возникают проблемы с правами доступа даже от имени пользователя 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*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .