Создание загрузочного диска Windows 7 в Ubuntu Linux

by Anton Chernousov aka GITA-DEV


Опубликовано: 27 Фев 2018 (последние правки 4 недели)


Создание загрузочного диска Windows 7 в Ubuntu Linux

В сегодняшней статье мы будем создавать загрузочный USB-stick с установочным дистрибутивом операционной системы Windows в операционной системе Linux. Лично у меня такая необходимость возникает периодически и сейчас пришло время сделать подробную инструкцию по всем аспектам этого процесса, так как там есть несколько подводных камней, описания обхода которых в интернете найти довольно сложно, а некоторые советы с форумов, мягко говоря, бессмысленные.

В сегодняшней статье мы будем создавать загрузочный USB-stick с установочным дистрибутивом операционной системы Windows в операционной системе Linux. Лично у меня такая необходимость возникает периодически и сейчас пришло время сделать подробную инструкцию по всем аспектам этого процесса, так как там есть несколько подводных камней, описания обхода которых в интернете найти довольно сложно, а некоторые советы с форумов, мягко говоря, бессмысленные.

Как я понимаю, основная проблема заключается в том, что при создании USB-диска с дистрибутивом OS Windows необходимо использовать файловую систему NTFS, так как в образе установочного диска присутствует файл /sources/install.wim объемом около 7 GB записать, который на раздел FAT32 не представляется возможным. А использовать разделы EXT для этих нужд, по естественным причинам, мы тоже не можем и, поэтому, основная наша задача переразбить на USB-накопитель в режим один раздел NTFS (Windows не очень хорошо работает с несколькими разделами на USB-накопителе).

Для подготовки USB-диска начинающим администраторам Linux я рекомендую использовать графическую утилиту gparted, а для работы с NTFS-разделами используется утилита ntfs-3g. Набор ПО, естественно, мы установим используя штатный пакетный менеджер Ubuntu:

# apt-get install gparted
# apt-get install ntfs-3g

Теоретически, можно сразу запускать графическую утилиту работы с диском и размечать диск в режиме один раздел NTFS, но я бы рекомендовал вам инициализировать USB-накопитель, удалив информацию о текущей разметке забив нулями первые 10-15 мб. Это не обязательно, но я несколько раз сталкивался с тем, что usb-накопитель отображал странную схему разметки и переразбивка при помощи gparted не давала особого результата.

Итак, прежде всего необходимо определить имя устройства, которое было назначено вашему USB-брелку. Для вывода информации о всех блочных устройствах хранения данных выполните в консоли команду:

# fdisk -l

После того, как вы определились с именем диска, обнулим информацию о текущей разметке устройства (не перепутайте имя диска, это необратимая и очень деструктивная операция). В качестве имени устройства получателя используется центральное имя устройства, а не раздела:

# dd bs=1024 count=10240 if=/dev/zero of=/dev/sdd

После обнуления заголовка диска вы можете запустить графическую утилиту gparted и разметить диск:

# gparted

Обратите внимание, что диск не инициализирован и необходимо создать таблицу разделов msdos.

Создание раздела MSDOS

Перейдите в меню "Устройство -> Создать таблицу разделов" и выберите тип таблицы msdos:

Создание раздела удалит все данные

Как вы,наверное, поняли: интерфейс программы напоминает старую утилиту PartitionMagic и, я думаю, проблем с созданием разметки не возникнет. Создайте один раздел типа NTFS объемом в весь свободный объем диска, для принятия изменений используется значок "галочка" на панели кнопок или меню "Правка -> Выполнить все операции".

Создание раздела NTFS

Для распаковки и записи любых ISO-образов в Linux наиболее просто использовать утилиту Unetbootin - она обладает простым графическим интерфейсом и распаковка ISO-образов Windows - это, скорее, побочная ее возможность, а основным ее назначением является запись распространенных дистрибутивов Linux на USB-накопители.

Устанавливаем Unetbootin:

# add-apt-repository ppa:gezakovacs/ppa
# apt-get update
# apt-get install unetbootin

Дополнительно для работы unetobootin требуется установить пакет extlinux:

# aptitude install extlinux

В современных версиях Unetbootin имеется ошибка с определением файловых систем NTFS, эта ошибка все еще не исправлена, но есть метод обхода с принудительным указанием раздела для установки и типа установки:

# unetbootin installtype=USB targetdrive=/dev/sdb1

Запустив утилиту с указанными выше параметрами, вы принудительно указываете нужный для установки раздел (в противном случае выбор нужного диска будет недоступен). Выберите образ диска для распаковки нажмите кнопку OK.

Установка образа диска Windows

После распаковки и записи загрузчика опять запустите gparted и обязательно установите boot-флаг на раздел при помощи gparted, в противном случае, вы получите ошибку "Missing Operating System".

Установка загрузочного флага

Собственно, на этом и все. Диск можно извлечь и с него можно загрузиться.


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .

Блог это некоммерческий проект! Если вам понравился мой блог и то что я пишу помогло вам на практике, то можете сказать спасибо материально.