Создание загрузочной флешки с Windows 7 из под Debian/Gnu Linux

Задача:
Дано:

  • Есть лицензионный диск с Windows 7 или ISO-образ этого диска
  • Есть флешка, превосходящая своим объёмом размер диска или ISO-образа
  • Есть ноутбук, или системный блок, на который нужно установить Windows
  • Есть компьютер с установленным Debian GNU/Linux (в моём случае 8.0)
  • Нет привода для чтения дисков, ни встроенного, ни переносного
  • Нет компьютера с установленной Windows 7

Найти:

  • Как записать дистрибутив Windows 7 на флешку, чтобы с неё можно было загрузиться?

Решение задачи:

Подготовка

1. Для начала, если у вас диск с Windows 7, то нужно создать из него ISO-образ.
Для этого можно просто выполнить в консоли команду:

# dd if=/dev/cdrom of=/home/user/windows7image.iso

разумеется, диск должен быть вставлен, а устройство, которое представляет собой CD-ROM должно быть в /dev/cdrom. Если нет — узнайте где оно (например /dev/sr0) и измените строку.
Путь к файлу тоже стоит установить свой собственный, врядли в системе вас зовут user.

2. Установка ПО:
Установим Unetbootin, который понадобится для создания загрузочного диска, и какую-нибудь утилиту для разбивки диска, в моём случае это partitionmanager (из набора KDE), также, полным аналогом является gparted, а если вам проще разбивать диск в консоли через fdisk или cfdisk — можете вообще не ставить никаких GUI-инструментов для этого.

# apt-get install unetbootin partitionmanager

Первое форматирование флешки

Обычно на флешках нет таблицы разделов, а, вместо этого, вся флешка отформатирована в FAT32. Нам нужно создать на ней таблицу разделов, один единственный раздел, и отформатировать его в FAT32.
Это нужно для того, чтобы обмануть Unetbootin. В чём заключается обман, будет объяснено похже.

С помощью partitionmanager, gparted или fdisk нужно сделать следующее:
1) Если на флешке нет таблицы разделов — создать её. Тип таблицы разделов — DOS
2) Создать Primary раздел, занимающий ВСЁ место, и отформатировать его в FAT32
3) Включить на разделе флаг Boot

После того, как эти задачи будут выполнены — нужно
4) Выдернуть флешку и вставить её обратно

Запуск и обман Unetbootin

Unetbootin в своей работе нуждается во флешке, отформатированной в FAT32, однако, чтобы флешка с файлами Windows 7 стала загрузочной, она должна быть отформатирована в NTFS. А c NTFS наш Unetbootin, начиная с какой-то древней версии, не работает. Сделано это потому, что драйвера NTFS в Linux долгое время были не очень стабильными и надёжными, а в проблемах, возникающие из-за этого, винили Unetbootin. Также, сделать загрузочную флешку с Linux’ом (для чего изначально предназначался Unetbootin) в файловой системе NTFS не получится.

В связи с вышеописанным, Unetbootin НЕ УВИДИТ вашу флешку, если она будет отформатирована в NTFS.

Итак, запускаем Unetbootin, заранее вставив подготовленную флешку.
1. В нижнем поле «Носитель» должно появиться ваше устройство, с именем, похожим на /dev/sdc1, выбирайте его.
2. Поставьте галочку около пункта «Образ диска»
3. Справа от этого пункта, нажав на кнопку «…» выберите файл ISO-образа.
4. Всё! Больше пока НИЧЕГО нажимать не надо! Закрывать Unetbootin тоже не надо!

«Подстава» NTFS

Теперь, когда Unetbootin уверен, что ему дали правильное FAT32-устройство, нужно сменить файловую систему на NTFS

1. Если флешка была примонтирована — отмонтируем её.
2. Запустил partitionmanager или gparted, форматируем раздел на флешке в формат NTFS. Если лень запускать GUI-приложения, можно сделать это командой:

mkfs.ntfs -f /dev/sdX1

где вместо sdX1 нужно подставить имя вашего устройства, например sdc1.
3. После форматирования, вытаскиваем флешку, и вставляем её обратно, после чего монтируем. В KDE, Gnome и прочих *DM вы легко это сделаете одним кликом мышки. В консоли же старая добрая команда:

# mount /dev/sdc1 /mnt/flash

Итак, после монтирования флешка всё ещё имеет то имя устройства (скажем /dev/sdc1) про которое помнит Unetbootin, но уже имеет другую файловую систему. На самом деле, Unetbootin’у всё равно какая ФС на флешке, ведь он просто копирует файлы в папку, куда примонтирована флешка.

Завершение

1. В окне Unetbootin нажимаем «Ok» после чего начинается процесс копирования установочных файлов Windows на флешку.
2. По завершению Unetbootin предлагает перезагрузиться, что нужно делать только в том случае, если Windows вы хотите установить на тот же самый компьютер.
3. Если перезагрузку вы не нажали — перед выдёргивание флешки не забудьте её по-хорошему отмонтировать.

Можно устанавливать

Если компьютер не грузится с флешки — нужно настроить его BIOS соответствующим образом, либо выбрать вариант загрузки с флешки, нажав на начальном экране BIOS’а кнопку F10 или F12 (у каждого производителя это что-то своё).


2 комментария

    • Ответить mihanentalpo |

      Спасибо, посмотрел статью.
      Хорошая, наверное, утилита winusb, однако автор статьи не указал где её взять. В его инструкции она уже установлена в системе, и без проблем запускается.
      В моём же случае, кроме образа диска с Windows, всё остальное устанавливается прямо из репозитория.

Оставить комментарий