Создаём загрузочный USB диск с Windows из под Linux. Делаем загрузочную флешку Linux

06.08.2023
Редкие невестки могут похвастаться, что у них ровные и дружеские отношения со свекровью. Обычно случается с точностью до наоборот

В ubuntu уже есть приложение для создания образов дисков - Startup Disk Creator, но оно умеет создавать только загрузочные USB с Linux. Для создания загрузочного USB-диска с Windows из Linux , существует WinUSB, но она довольно давно не обновлялась, и честно говоря, у меня не заработала. Данный пост довольно подробный, и рассчитан преимущественно на людей, плохо знакомых с Linux.

Перед тем как я продолжу, следует указать что в Windows мире два метода загрузки:

  • MBR , при котором в начале диска резервируется место, и располагается специальный загрузочный файл;
  • EFI , при котором исполняемый файл загрузчика хранится в стандартном расположении на FAT32 файловой системе;

Если вы не знаете какой выбрать, то наиболее часто используемый вариант который работает без модификации файлов Windows - это msdos таблица разделов с fat32 файловой системой и загрузочным флагом.

Прежде всего USB-диск необходимо подготовить. В Linux наиболее простой и удобной для этих целей утилитой является gparted .

Ставим его если не установлен:

sudo apt-get install gparted

Подготовка USB диска

Выбираем нашу USB флэшку, отмонтируем её если она смонтирована:

Теперь необходимо пересоздать таблицу разделов, при этом выбрать тип msdos . Заходим в меню Устройство (Device) и выбираем Создать таблицу разделов (Create partition table) :

После этого выбираем неразмеченную область, нажимаем правой кнопкой мыши по ней же и выбираем пункт меню "Новый". В появившемся окне выбираем файловую систему NTFS или FAT32. Если у вас какая-то нестандартная сборка в которой могут быть файлы больше 4 гигабайт, то файловая система должна быть определенно NTFS, в противном случае, можно выбрать FAT32, и, тогда, так же можно будет загрузиться с UEFI. Так же необходимо указать метку для USB-диска. Важно: метка должна быть не просто "Windows", а какой либо более уникальной. Если файловая система FAT32, то метка должна быть указана заглавными буквами.

Применяем все наши изменения:

Выходим из gparted.

Копирование файлов Windows на USB диск

Теперь необходимо смонтировать образ с Windows и скопировать данные с него на наш подготовленный ранее usb диск. В большинстве современных рабочих окружений это можно сделать из файлового менеджера. По необходимому образу нажимаем правой кнопкой мыши, выбираем Открыть с помощью и выбираем Disk Image Mounter:

Если у вас нет такой утилиты, то можно смонтировать из командной строки:

sudo mount -o loop $HOME /Загрузки/Windows.iso /mnt/cdrom

Где $HOME/Загрузки/Windows.iso необходимо заменить на путь до образа с Windows. Образ будет смонтирован в директорию /mnt/cdrom .

Делаем USB-диск загрузочным

Если создаем MBR загрузочный диск

Для создания MBR загрузочной записи будем использовать grub:

sudo grub-install --target=i386-pc --boot-directory="/media/$user/$drive/boot" /dev/sdX

  • $user - имя текущего пользователя;
  • $drive - название образа;
  • /dev/sdX - расположение диска (в моем случае /dev/sdb ;

Если образ монтировали руками, то /media/$user/$drive/boot необходимо заменить на /mnt/cdrom/boot .
В случае, если не было никаких ошибок, то в консоли должны увидеть примерно следующее:

Installing for i386-pc platform. Installation finished. No error reported.

Теперь на USB-диске в директории boot/grub необходимо создать файл grub.cfg с таким содержимым:

default=1 timeout=15 color_normal=light-cyan/dark-gray menu_color_normal=black/light-cyan menu_color_highlight=white/black menuentry "Start Windows Installation" { insmod ntfs insmod search_label search --no-floppy --set=root --label $USB_drive_label --hint hd0,msdos1 ntldr /bootmgr } menuentry "Boot from the first hard drive" { insmod ntfs insmod chain insmod part_msdos insmod part_gpt set root=(hd1) chainloader +1 boot }

В листинге выше, $USB_drive_label необходимо заменить на метку, которую мы присвоили диску на первом шаге . В данном случае WINUSB2503 .

Перезагружаемся, загружаемся с USB-диска и выбираем Start Windows Installation .

Если создаем UEFI загрузочный диск

С UEFI все несколько проще. Следует обратить внимание, что данный способ подходит только для Windows 7 x64 и выше.
После того, как все файлы скопировались, необходимо зайти в директорию efi/boot . Если в ней присутствуют файлы bootx64.efi или bootia32.efi то всё в порядке, можно пробовать загрузиться с диска.

Если нет ни одного из указанных выше файлов, то необходимо зайти в директорию куда смонтирован образ Windows, открыть файл install.wim архиватором (должен быть установлен 7z). В архиваторе открыть путь./1/Windows/Boot/EFI , разархивировать файл bootmgfw.efi в директорию efi/boot и переименовать его в bootx64.efi . Если этих файлов нет, то скорее всего у вас 32 битный образ Windows. 32 битная Windows не поддерживает загрузку с UEFI.

  • Make a bootable Windows USB from Linux - содержит немного полезной информации;
  • Grub2/Installing - документация Ubuntu;
  • Installing GRUB using grub-install - документация GRUB 2.0;

Несколько способов создать загрузочную флешку Windows 7 из под linux.

Способ первый:

Командой fdisk -l определяем флешку. Затем с помощью dd записываем iso образ c windows на флешку:

# dd if=/home/user/windows7.iso of=/dev/sdX

Где /dev/sdX - флешка. Теперь вот качаешь и по инструкции устанавливаешь утилиту ms-sys, которая пропишет правильную MBR для нашей флешки.

Установка простая:

Step 1, unpack the archive:

tar -xzvf ms-sys*.tgz

Step 2, compile:

Step 3, become root and install

su (and give password)

Думаю здесь всё понятно. Затем выполняем:

# ms-sys -7 /dev/sdX

Загружаемся с флешки и устанавливаем windows.

Способ второй:

С помощью unetbootin. Сразу скажу, что не знаю насколько работает этот способ. У меня изначально не сложились отношения с unetbootin, на мой взгляд слишком сырая программа, ИМХО. Но многим нравится.

Для начала нужно отформатировать флешку в ntfs. Проверьте чтобы флешка была отмонтирована. Если это не так, то отмонтируйте командой umount. Форматируем:

# mkfs.ntfs /dev/sdX

Затем устанавливаем unetbootin.

# apt-get install unetbootin

Запускаем. Выглядит она вот так:

Выбираем образ, ваш носитель(/dev/sdX) и нажимаем «ОК». После создания флешки, загружаемся с неё и устанавливаем windows.

Способ третий:

На мой взгляд самый лучший и простой способ. С помощью утилиты winusb. Плюс этой утилиты в том что на флешку она ставит загрузчик grub, который отлично загружается практически на всём возможном железе. И уже grub запускает установщик windows. Установка програмы очень проста:

# add-apt-repository ppa:colingille/freshlight

# apt-get update

# apt-get install winusb

А интерфейс ещё проще чем установка.

Выбираете либо iso образ, либо диск в приводе. Выделяете вашу флешку. Затем жмете кнопку install. Загружаетесь с флешки, устанавливаете windows.

Вот три простейших способа создать загрузочную флешку windows 7 из под Linux.

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

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

ЗАГРУЗОЧНАЯ ФЛЕШКА с помощью программы UNetbootin (I способ)

Программа позволяет создавать, как онлайн загрузочный USB-накопитель с дистрибутивом Linux-подобных операционных систем, так и с уже имеющимся дистрибутивом Linux скачанным ранее. Программу можно скачать с официального сайта http://unetbootin.sourceforge.net/

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

После форматирования Flash-накопителя, запускаем программу UNetbootin . Как говорилось ранее, программа позволяет записать Live CD/DVD из Интернета, указав только дистрибутив и его версию.

Но мы не будем использовать такой вариант создания загрузочной флешки для Linux, так как у нас имеется уже скачанный дистрибутив Debian Wheezy с официального сайта. Скачать дистрибутив и ознакомиться с установкой ОС Debian можно в статье: "Установка DEBIAN Wheezy" .

Для того чтобы записать образ диска операционной системы Debian Wheezy на USB-накопитель необходимо выбрать радиокнопку «Образ диска», далее в списке активировать «Стандарт ISO», потом указать путь к дистрибутиву с расширением.ISO, а затем выбрать из списка тип устройства и сам носитель. Параметры выбраны, теперь нажимаем кнопку «ОК» и автоматически начнется процесс извлечения и копирования файлов, который может занять длительное время.

После извлечения и копирования файлов программа установит загрузчик и завершит установку с запросом «Перезагрузить прямо сейчас?» Если Вы хотите производить установку ОС Linux на этом же компьютере, тогда нужно нажать кнопку «Перезагрузить сейчас». После перезагрузки выберите в BIOS опцию загрузки с USB.

В противном случае, если установка ОС Linux будет производится на другом компьютере, тогда Вам нужно нажать на кнопку «Выход».

Загрузочная флешка Linux готова!!!

ЗАГРУЗОЧНАЯ ФЛЕШКА с помощью программы Universal USB Installer (II способ)

Приступим ко второму способу создания загрузочной флешки Linux, используя программу зарубежных энтузиастов. В отличии от первого способа создания загрузочного носителя, эта программа имеет возможность форматировать съемный носитель самостоятельно.

Продолжая, запускаем программу Universal USB Installer и настраиваем под необходимые параметры. В первом шаге представлен список операционных систем Linux, выбираем «Try Unlisted Linux ISO» - это говорит о том, что мы будем использовать образ операционной системы не входящий в данный список. На втором шаге нужно указать путь к местонахождению нашего образа, примером для подражания выступает Debian Wheezy. Третий шаг обуславливает выбор USB-накопителя и активацией чек-бокса для форматирования флешки. Настройки все сделаны, нажимаем кнопку «Create».

Появляется окно, в котором сказано, что необходимо: закрыть все окна Windows, программа произведет форматирование USB-накопителя, создаст загрузочную область MBR, изменит метку тома на имя UUI и установит образ операционной системы Linux. Подтверждаем «Да»!

Начался процесс установки данных на съемный носитель, ожидаем некоторое время…

…спустя время программа заканчивает процесс установки и будет выглядеть, как показано на нижеуказанном рисунке.

Загрузочная флешка Linux создана! Скачать программу можно с официального сайта: http://www.pendrivelinux.com/

Любопытное изобретение - все эти LiveCD-дистрибутивы. Каждый из нас когда-то записывал образ свежего Knoppix’а на диск и строил грандиозные планы о том, как он не раз выручит в будущем. Вдруг понадобится восстановить удаленные файлы, реанимировать систему или сбросить в винде пароль администратора? Только вот таскать с собой такую бандуру ты не станешь, и, будь уверен, через некоторое время она просто потеряется у тебя на полке. Намного круче было бы разместить LiveCD на флешке, добавить к экзотическому линуксу обычную винду и всегда носить этой хозяйство с собой. А почему, собственно говоря, нет?

Готовим операционную

Да-да, мы действительно создадим флешку с загрузочными Linux и Windows. Благодаря существующим инструментам это не только возможно, но еще и легко реализуемо. Вот перечень того, что нам понадобится:

  1. В первую очередь, конечно же, флешка или любой другой USB-носитель. Тут главное — выполнить 2 условия. Во-первых, флешку должен корректно распознавать БИОС материнки, позволяя загружаться с нее во время запуска компьютера. А во-вторых, она должна иметь подходящий размер, чтобы разместить две ОС. В нашем случае потребуется девайс объемом 1 Гб и выше.
  2. Подходящий LiveCD-дистрибутив на базе SLAX. Вообще, большинство пингвинов давно можно запустить не только с CD, но и с флешки, однако я все-таки рекомендовал бы тебе один из дистрибов, построенных на базе Slackware. А это сам SLAX , Slast , а также известный хакерский чемоданчик Backtrack , который я и буду использовать в этой статье.
  3. Утилита, которая поможет собрать свой собственный билд дистрибутива и записать его на флешку - MySLAX Creator . Фишка операционных систем SLAX-based в том, что их буквально можно собрать по кирпичам (модули имеют расширение mo), включив в состав диска нужные приложения. Так что установить в пингвине нужную программу будет сущим пустяком.
  4. Дистрибутив Windows XP или Windows 2003 для создания загрузочной версии винды. Понадобится лишь часть файлов, но проще будет найти диск с виндой, чем перечислять их перечень.
  5. Программа Bart PE Builder , которая будет главным инструментом, собирающим загрузочную версию Windows. Умелец-автор разобрался с механизмом работы WinPE (официального LiveCD-дистрибутива от Microsoft) и разработал утилиту для создания своего собственного билда, функционального и легко расширяемого.
  6. Утилита Make Bootable, или сокращенно MKBT , для размещения загрузочного сектора Windows на флешке.
  7. Загрузчик Syslinux , с помощью которого будет осуществляться выбор ОС во время загрузки с USB.

«Первый, пошел!», или начнем с Linux

Создание нашей убойной флешки мы начнем с копирования на USB-драйв файлов Linux Backtrack’а, в чем нам поможет MySLAX Creator. Сразу после быстрой установки воткни в компьютер флешку и запускай программу.

  1. MySLAX Creator тут же спросит, откуда ей брать файлы. В качестве исходных материалов будет использоваться образ Backtrack-дистрибутива (ищи его на нашем DVD), поэтому параметр Source type нужно выставить в ISO-default, а потом в текстовом поле указать путь до образа. Теперь необходимо примонтировать ISO в системе, нажав кнопку «Mount».
  2. Программа предложит создать загрузочный диск (Burn this ISO), либо же загрузочную флешку (USB Stick). Само собой, выбираем второе.
  3. Внимание: следующая операция требует форматирования флешки, что влечет за собой потерю всех данных. Поэтому, если необходимо, сначала сделай бэкап и лишь потом выбирай нужный flash-драйв и нажимай «Create USB Stick».
  4. Теперь очень важный момент. В окне форматирования флешки в качестве файловой системы обязательно нужно выбрать FAT. По умолчанию выставлен FAT32, и если ты оставишь все, как есть, то на одном из следующих шагов получишь ошибку, и все придется начинать заново. Будь внимателен!
  5. Как только форматирование будет завершено, MySLAX Creator скопирует на флешку все необходимые файлы и предложит перегрузиться. Ради эксперимента можешь отправить машину в ребут, выставить в биосе загрузку с USB и посмотреть, что получится. Процесс загрузки ОС Backtrack не заставит себя долго ждать, и уже через минуту ты сможешь воспользоваться Linux’ом, который до отвала напичкан самыми разнообразными x-toolz’ами.

Дрессировка винды

Впрочем, линуксом, который работает без установки (пускай, даже с флешки), уже давно никого не удивишь. Да и все-таки хочется при себе иметь любимую винду с привычными программами, а пингвина использовать в более изощренных целях. Поэтому сейчас нужно вооружиться утилитой Bart’s PE Builder и действовать!

  1. Работать с этой программой проще простого хотя бы потому, что интерфейс полностью переведен на русский язык и запутаться здесь довольно сложно. Просто читаем, что от нас требуется, и выполняем - начнем с указания пути к установочным файлам Windows. Внимание: требуется дистрибутив Windows XP или 2003. И никак иначе: любой другой, включая w2k, не подойдет. Более того, ты должен прописать вручную или выбрать путь именно к установочным файлам (если вставил диск с виндой, то просто выбери здесь свой привод), а не к образу с дистрибутивом (который, возможно, закачаешь из Сети). Если дистриб упакован в ISO или другом формате-образе, то его нужно предварительно оттуда извлечь.
  2. При желании ты вправе указать папку с файлами, которые будут дополнительно включены в окончательную сборку Windows, но этот шаг опциональный. Главное сейчас - выбрать каталог назначения, куда PE Builder положит готовый билд системы. Необходимо в обязательном порядке указать здесь «BartPE», тем самым ты заведомо исключишь проблемы во время переноса файлов на флешку. Замечу, что в обычном режиме мы бы сразу зажгли полученный билд на CD или, по крайней мере, создали ISO. Но для дальнейшего переноса файлов на USB придется отказаться от всякой записи на носитель.
  3. Включить в сборку дополнительные программы или, наоборот, убрать что-то лишнее можно через окно «Модули» (рекомендую заглянуть туда после прочтения соответствующей врезки), но сейчас оставим все по дефолту и просто нажмем «Создание сборки».
  4. Сам процесс создания загрузочной системы не займет много времени. После завершения процесса все сгенерированные файлы будут помещены в папку BartPE (у меня - c:/pebuilder3110a/BartPE), однако просто взять и скопировать их на флешку нельзя. Пришлось бы долго возиться, чтобы все заработало, но разработчик позаботился об этом, включив в состав проги специальный скрипт - pe2usb.cmd.
  5. Синтаксис для запуска скрипта очень простой: «pe2usb.cmd », где drive - буква нужного USB-носителя. Но после первой же попытки запуска он обломает тебя, сославшись на критическую ошибку. Оказывается, для работы pe2usb (точнее говоря, для создания виртуального диска в оперативной памяти для дальнейшей работы винды) требуется несколько файлов из Service Pack 1 for Windows Server 2003. Если таковой у тебя под рукой, то просто извлеки оттуда setupldr.bin, ramdisk.sy_ и скопируй их в предварительно созданную папку srsp1 (у меня - c:/pebuilder3110a/srsp1). После этого распакуй ramdisk.sy_, выполнив из папки srsp1 следующую команду:

    expand –r RAMDISK.SY_

Замуты с загрузчиком

Если после этого ты попробовал загрузиться с флешки и по-прежнему увидел Backtrack, сильно не удивляйся. Мало разместить на флешке файлы для винды, необходимо еще настроить загрузчик, чтобы тот знал, какую ОС и когда запускать. Как это делается?

  1. Из папки Bart PE Builder нужно взять файл с загрузочным сектором винды -- pe2usb.bin, переименовать его в pe2usb.bss и кинуть в корень флеш-накопителя. Переименовать файл нужно в обязательном порядке, так как именно расширение файла указывает загрузчику Syslinux (который мы и будем использовать), что тот имеет дело с boot-сектором.
  2. Далее в ход идет небольшая утилита MKBT. Просто скопируй ее исполняемый файл (mkbt.exe) на флешку и выполни оттуда команду «mkbt -x pe2usb.bss », где drive - буква нужного USB-носителя. Тем самым ты установишь на флешке bootsector винды (поместишь образ загрузочного сектора в специальной системной области накопителя).
  3. Теперь дело за малым - надо настроить сам загрузчик, то есть Syslinux. Для этого быстренько распаковываем архив syslinux-3.31.zip и копируем файлы \win32\syslinux.exe и \com32\modules\vesamenu.c32 в корень флешки. Далее требуется немного поправить конфигурационный файл syslinux.cfg, установленный еще вместе с Backtrack’ом. Особо не заморачивайся и просто замени его содержание следующим:

    Default vesamenu.c32
    prompt 0
    timeout 0
    F1 splash.txt
    F2 splash.cfg
    SAY Type "bartpe" for Bart"s Pe, or type "slax" for Slax.
    DISPLAY syslogo.lss
    MENU TITLE ]}

Последние материалы сайта