Как я могу создать загрузочную флешку Windows с помощью Ubuntu?

446

Я хотел бы создать загрузочную флешку для Windows 8, но у меня нет машины с Windows, чтобы сделать это.

Так как мне это сделать с помощью Ubuntu?

Zignd
источник
31
Psicofrenia «UNetbootin позволяет создавать загрузочные Live USB-накопители для Ubuntu, Fedora и других дистрибутивов Linux без записи компакт-диска.», И я уже попытался использовать его и обнаружил, что UNetbootin действительно нельзя использовать для создания загрузочных USB-флешек Windows ,
Zignd
Вы пытались следовать инструкциям по Windows 8 о том, как записывать USB-тики и использовать Wine для запуска одного из указанных программ?
Психофрения
Ну, этот парень, кажется, думает иначе ... -> СОЗДАЙТЕ ЗАГРУЗКУ WINDOWS 7 USB-ДИСКОВ ИЗ ЛИНУКСА (ТЕСТИРОВАНИЕ НА UBUNTU)
Meintjes
1
@MrSeed Я пробовал этот учебник, а также скачал старую версию UNetbootin, но проблема в том, что старая версия зависит от библиотеки, которая недоступна для Ubuntu 13.04, потому что она слишком старая, кстати, самая новая версия библиотека доступна, но приложение все еще не работает с ней.
Zignd
2
UNetbootin всегда генерирует любую ошибку
gal007

Ответы:

299

WinUSB старый, устаревший и устаревший. Это может вызвать проблемы в новых системах. Вы должны использовать WineUSB или другое программное обеспечение вместо WinUSB.

Этот ответ, однако, оставлен здесь как есть для исторических целей.

Создайте загрузочную Windows USB (Vista и выше) из Ubuntu через программное обеспечение WinUSB .

Ubuntu с 12.04 по 15.04

Выполните следующие команды на терминале, чтобы установить WinUSB из PPA ,

sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb

Скриншот WinUSB

Предупреждение для Ubuntu EFI:

установка WinUSB на загруженный EFI Ubuntu удалит пакеты grub-efi для установки пакетов grub-pc. Это сделает вашу систему не загружаемой, если вы не переустановите пакет grub-efi вручную перед перезагрузкой.

Для переустановки вручную выполните:

sudo update-grub
sudo grub-install /dev/sda
sudo update-grub
sudo reboot
Авинаш Радж
источник
1
Будет ли что-то sudo add-apt-repository "deb http://ppa.launchpad.net/colingille/freshlight/ubuntu saucy main"лучше для 14.04? apt-add-repositoryне только для PPA ...
Уилф
6
@empedokles 1. Если вы хотите сделать Windows XP USB, то забудьте об этом. Это не работает с WinUSB. 2. Чтобы исправить ошибку 512, прочитайте это .
Корнелиус
2
@ThoVo прочитайте этот ответ: askubuntu.com/a/539803/269282
Корнелиус
2
Не будет работать в 15.10, 16.04, 16.10
ранчо
6
Этот пост устарел, WinUsb был прекращен, но есть WoeUsb, который хорошо поддерживается. Также взгляните на эти ответы (для этого нужно больше голосов): askubuntu.com/a/928874/256359 askubuntu.com/a/489556/256359
davcri
209

Любая версия Ubuntu

даже другие дистрибутивы Linux, если установлены GParted и GRUB .

Установите GParted, GRUB, 7z и NTFS в Ubuntu с помощью:

sudo apt-get install gparted grub-pc-bin p7zip-full ntfs-3g

Для BIOS: схема разделов MBR

  1. Используя GParted, перепишите таблицу разделов USB-накопителя как msdos , отформатируйте его как NTFS , а затем «Управление флагами» и добавьте bootфлаг.
  2. В GParted щелкните правой кнопкой мыши раздел USB и выберите Информация . Скопируйте UUID куда-нибудь, так как он вам понадобится.
  3. Смонтируйте ваш Windows ISO или DVD и скопируйте все его файлы на USB-накопитель.
  4. Перейдите на USB-накопитель и, если в названной папке bootесть заглавные буквы, сделайте их все строчными, переименовав их.
  5. Установите GRUB на USB-накопитель.

    В приведенной ниже команде замените /dev/sdXустройство (например /dev/sdb, нет /dev/sdb1 ) и замените <USB_mount_folder>папку, в которую вы подключили USB-накопитель (что может быть похоже /media/<username>/<UUID>).

    sudo grub-install --target=i386-pc --boot-directory="/<USB_mount_folder>/boot" /dev/sdX
    
  6. Создайте файл конфигурации GRUB в папке USB-накопителя boot/grub/с именем grub.cfg.

    Запишите это в файл, заменив <UUID_from_step_2>его UUID, который вы скопировали на шаге 2.

    echo "If you see this, you have successfully booted from USB :)"
    insmod ntfs
    insmod search_fs_uuid
    search --no-floppy --fs-uuid <UUID_from_step_2> --set root
    ntldr /bootmgr
    boot
    
  7. Размонтируйте USB-накопитель.

  8. Теперь, чтобы использовать его, перезагрузите компьютер и загрузитесь с USB-накопителя.

Для UEFI: схема разбиения GPT *

* Старые версии / выпуски Windows могут не поддерживаться должным образом или вообще не поддерживаться. Я предлагаю прочитать страницу прошивки Microsoft UEFI .

  1. Используя GParted, переписать таблицу разделов USB-накопителя как GPT .
  2. Создайте новый основной раздел и отформатируйте его как FAT32 .
  3. Скопируйте все файлы Windows (с подключенного ISO или DVD) на USB-накопитель.
  4. Посмотри на USB в efi/boot/папке. Если есть файл bootx64.efi( bootia32.efi), то все готово. USB является загрузочным. Перейдите к шагу 7.
  5. В противном случае откройте sources/install.wimс помощью диспетчера архивов (вы должны были 7zустановить) и перейдите к ./1/Windows/Boot/EFI/. Отсюда извлеките bootmgfw.efiкуда-нибудь, переименуйте его в bootx64.efi(или bootia32.efiдля поддерживаемой 32-битной ОС [?]) И поместите его на USB в efi/boot/папке.
  6. Если вы делаете Windows 7 USB, скопируйте bootпапку из efi/microsoft/в efiпапку.
  7. Не забудьте отключить (безопасно извлечь) USB-накопитель. Выберите правильный загрузчик EFI из вашего BIOS.

Источник: Мой пост в блоге об этом можно найти на сайте « Создание загрузочного Windows USB из Linux» .

Запись

При правильном использовании с совместимой целевой операционной системой оба эти метода должны обеспечить загрузочный USB-накопитель. Однако это не гарантирует успешной установки Windows.

Корнелий
источник
2
@GuiImamura щелкните правой кнопкой мыши по разделу в GParted, выберите «Управление флагами» и установите флажок рядом с загрузкой .
Корнелиус
8
Метод EFI - способ сделать это для Win10. И вы можете смело пропустить шаги 4-6 в настоящее время.
Иван Анищук
2
Перепробовав много других вещей, это единственное, что сработало для меня. Благодарю.
becko
3
Я могу подтвердить, что метод UEFI / GPT работает без шагов 4-6 с Windows 10.
josch
2
Если вы столкнулись с какой-либо ошибкой, проверьте его сообщение в блоге (ссылка внизу его ответа) для получения подробной информации. Решения для некоторых случаев ошибки могут быть полезны.
Teo
100

Ubuntu 14.04 и позже

WinUSB - это инструмент для создания загрузочной флешки, используемой для установки Windows. Встроенная загрузка UEFI поддерживается для образов Windows 7 и более поздних версий. WoeUSB - это обновленный форк проекта WinUSB.

Некоторые сторонние установщики используют установочные образы Windows ( /sources/install.wim) более 4 ГБ, что делает FAT32 целевой файловой системой невозможной. Поддержка файловой системы NTFS была добавлена ​​в WoeUSB 3.0.0 и выше.

Чтобы установить WoeUSB (обновленный форк проекта WinUSB) в Ubuntu 14.04 / 16.04 / 17.10 / 18.04 / 18.10 / 19.04 :

sudo add-apt-repository ppa:nilarimogard/webupd8 
sudo apt update  
sudo apt install woeusb

Чтобы установить WinUSB в Ubuntu 14.04 / 16.04 / 16.10 / 17.04:

sudo add-apt-repository ppa:nilarimogard/webupd8 
sudo apt update  
sudo apt install winusb

Это установит графический интерфейс WinUSB и инструмент командной строки WinUSB. WinUSB и WoeUSB поддерживают UEFI и BIOS для USB-накопителей FAT32 / NTFS / ExFAT.

Графический интерфейс WinUSB намного проще в использовании, чем инструмент командной строки WinUSB. Чтобы установить Windows ISO на NTFS-раздел и отредактировать основную загрузочную запись (MBR) устройства с помощью инструмента командной строки WinUSB и WoeUSB, введите следующую команду: щелкните переключатель слева от того места, где он написан. Из образа диска (iso ) , найдите расположение файла Windows .iso, в разделе « Целевое устройство» выберите флэш-накопитель USB, откройте приложение «Диски» и убедитесь, что имя устройства на дисках соответствует целевому устройству в WinUSB (оно должно быть примерно таким же, как / dev / sd X). где X - буква алфавита), и нажмите кнопку « Установить» , чтобы установить загрузочный установочный носитель Windows на USB-накопителе.

введите описание изображения здесь

Установка WinUSB в загруженной EFI Ubuntu приведет к удалению пакетов grub-efi, чтобы установить пакеты grub-pc, поэтому перед перезагрузкой выполните следующие команды для восстановления grub:

sudo update-grub
sudo grub-install / dev / sd X # замените X буквой раздела, в котором находится grub
sudo update-grub
перезагрузка sudo
Карел
источник
1
Это работает (использовал 64-битную версию)
Павак Павел
2
Или просто используйте дд, как и все остальные ...
ChangosMuertos
1
Мне пришлось купить более качественную флешку, чтобы она заработала. Я думаю, что это не проблема, специфичная для WinUSB, хотя.
Сет
$ sudo add-apt-repository ppa: nilarimogard / webupd8 Невозможно добавить PPA: 'ppa: ~ nilarimogard / ubuntu / webupd8'. ОШИБКА: пользователь или команда '~ nilarimogard' не существует.
Кристоф Ферребуф
Это работает на моем компьютере. Вы должны увидеть сообщение: « More info: https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8 Press [ENTER] to continue or ctrl-c to cancel adding itПосле того, как вы увидите это сообщение, нажмите клавишу Enter, чтобы продолжить. Может быть, у вас есть проблема с подключением.
Карел
52

Написание ISO с помощью WoeUSB (форк WinUSB)

Некоторые ответы устарели, так как WinUSB больше не работает. Но есть рабочая вилка под названием WoeUSB .

Github: https://github.com/slacka/WoeUSB

Монтаж

Это больше не удаляет grub-efi!

☞ Ubuntu / Debian

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb

☞ Арка

pacaur -S woeusb-git

☞ Fedora

dnf install -y WoeUSB

☞ OpenSUSE

zypper install WoeUSB

Написание ISO

После установки запишите Windows ISO следующей командой:

sudo woeusb --device /path/to/your.iso /dev/sdX

(Заменить Xин /dev/sdXс буквой , соответствующей вашему USB. Вы можете найти , который является правильным в программе дисков.)

Евгений
источник
2
Работал отлично. На Ахлиноpacaur -S woeusb-git
17
1
WoeUSB идеально подходит! И, в отличие от WinUSB, он не требует полного веб-набора в качестве зависимости (только компиляция веб-набора занимает пару часов на моем настольном компьютере).
Давкри
2
По Error: Target device is currently busyвопросам используйте sudo umount /dev/sdb(или соответствующее устройство). ( «Выброс» палка USB является не . Помогает, так как она не должна быть полностью исчезли, только раздел демонтирована В противном случае ошибка будет: probing initialization failed: No medium found)
Франк Nocke
2
Также работал на Fedora 28 с iso Win10_1803_x64. Для установки:dnf install -y WoeUSB
eddygeek
6
Если вы видите сообщение об ошибке «Файл в исходном изображении превышает ограничение размера файла в 4 ГБ для файловой системы FAT32», необходимо добавить --tgt-fs ntfsего в командную строку.
Адам Дингл
49

Текущая цепочка загрузки UNetbootin несовместима с UEFI и компьютерами, на которых установлена ​​предустановленная копия Windows 8.

Вы можете использовать ddвместо этого, будучи осторожным в том, что вы делаете:

sudo dd if=/path/to/iso/windows.iso of=/dev/sdX bs=4M; sync
  • Замените sdXдиск, который вы хотите использовать (в моем случае, sdg):
  • Это требует, чтобы ваша материнская плата могла загружаться с CDROM-USB.

Если вы все еще хотите использовать UNetbootin, вам понадобятся 2 (3) вещи:

  1. Unetbootin
  2. Gparted
  3. Доступ в Интернет для установки всего вышеперечисленного, образ Windows ISO и USB-накопитель объемом более 4 ГБ.

Итак, сначала сделайте резервную копию всего содержимого вашей флешки . После этого установите gparted и unetbootin:

sudo apt-get install gparted unetbootin

Теперь найдите gparted в Dash или введите gpartedв терминале. Выберите USB-накопитель из выпадающего списка справа. В моем случае /dev/sdg, у тебя может быть по-другому. Удалите все разделы и создайте один большой раздел FAT32 с помощью Gparted.

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

Установите флажок, чтобы увидеть все устройства, здесь вы должны выбрать то же устройство, которое вы выбрали в Gparted, в противном случае ваши данные могут быть потеряны . Выберите продолжить. Подождите немного и все готово. Перезагрузите компьютер и выберите загрузку с USB.

Braiam
источник
1
@ gcb странно, была ли Windows 8?
Брайам
1
хорошая точка зрения. нет. это была windows7 pro. Я проверю с win8, чтобы увидеть, если этот компакт-диск имеет формат SD / HDD.
GCB
2
Я предпочитаю ваш ответ (вариант dd) принятому, просто потому, что он не требует добавления другого репозитория или даже установки какого-либо программного обеспечения (unetbootin не требуется, просто используйте dd).
doublehelix
7
ddу меня не сработало, компьютер просто не загружался с pendrive. Если вы хотите использовать UNetbootin для pendrive в формате ntfs , вы должны запустить его из командной строки: sudo unetbootin installtype=USB targetdrive=/dev/sdb1(sdb1 - это раздел в формате ntfs моего pendrive, ваш может отличаться).
Эрик
7
Начиная с этого ответа при сбое сервера, dd-метод очень часто дает сбой, потому что он требует, чтобы ваша материнская плата могла загружать USB-CDROM не только USB-HDD .
Эрик
19

В машинах не-UEFI мы можем использовать GRUB2 для загрузки USB-накопителя. Затем мы можем использовать команду ntldr в GRUB2 для загрузки Windows с USB.

  • Включите загрузочный флаг на целевом разделе USB-накопителя. Это можно легко сделать с помощью инструмента под названием «GParted». Это графический инструмент для разбиения диска.
  • Если установочный образ представляет собой файл ISO, подключите его и получите доступ к файлам.
  • Скопируйте все файлы в корень USB-накопителя.
  • Установите GRUB на USB-накопитель:

    sudo grub-install --boot-directory="/media/user/MyUSBDrive/boot" /dev/sdX
    
  • Сконфигурируйте GRUB для загрузки Windows, поместив следующий файл как «/boot/grub/grub.cfg» на USB-накопитель:

    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    menuentry 'Install Windows 8' {
     ntldr /bootmgr
    }
    

Смотрите полный ответ в моем блоге Создание загрузочного Windows USB из Linux

harish2704
источник
2
Не требует установки. Самые простые шаги. Надо было попробовать это до принятия ответа
Anurag
Команда grub-install должна быть запущена с правами суперпользователя. Единственная недостающая информация
Anurag
4
ЭТО СУЩЕСТВЕННЫЙ ОТВЕТ !!!
Даниал Бехзади
3
Это то же самое, что и ответ «Любая версия Ubuntu ... Схема раздела MBR», но в нем отсутствует --target=i386-pcопция grub-installи не используется команда поиска grub2 для поиска «root» для загрузки. Может быть, это не нужно ...
Дэвид Тонхофер
Я думаю, что нужно установить что-то еще, у меня нет i386-pc в качестве опции.
Текнопаул
15

mkusb-nox и mkusb версии 12 могут создавать установочные диски Windows

Кажется, трудно найти инструмент Linux, который может создавать загрузочные диски (USB-накопители, карты памяти ...) с Windows, поэтому я добавил эту функцию в mkusb-nox, а позже создал mkusb версии 12 с этой функцией. Он работает во всех текущих версиях Ubuntu (и разновидностей Ubuntu: Kubuntu, Lubuntu ... Xubuntu) и с Debian Jessie. Созданный загрузочный диск может загружать 64-разрядную версию Windows как в режиме UEFI, так и в режиме BIOS.

Вы получаете / обновляете эту новую версию mkusb и mkusb-nox из PPA mkusb с помощью следующих команд

sudo add-apt-repository universe  # this line only for standard Ubuntu

sudo add-apt-repository ppa:mkusb/ppa
sudo apt-get update
sudo apt-get install mkusb mkusb-nox

sudo apt-get install usb-pack-efi  # only for persistent live drives

Смотрите эти ссылки,

mkusb-nox 11.1.2: добавлена ​​функция: установить USB-накопитель для Windows

mkusb / v7 - страница помощи по Ubuntu

mkusb-nox может создать загрузочную флешку USB с Windows 7 - 10, но вы должны справиться с интерфейсом командной строки.

Редактировать 1: Новый: mkusb версия 12 , новая версия предоставляет графический интерфейс пользователя для того же метода. Смотрите эти ссылки,

help.ubuntu.com/community/mkusb#Windows_USB_install_drive

mkusb оксидов азота: скриншот диалога пользователя

dus с псевдонимом guidus mkusb версия 12: введите описание изображения здесь введите описание изображения здесь

Изменить 2:

  • Новая улучшенная версия, mkusb 12.2.9 , теперь доступна через стандартный (и стабильный) PPA.

    sudo add-apt-repository universe  # this line only for standard Ubuntu
    
    sudo add-apt-repository ppa:mkusb/ppa
    sudo apt-get update
    sudo apt-get install mkusb mkusb-nox
    
    sudo apt-get install usb-pack-efi  # only for persistent live drives
    
    • Он также может быть установлен в режиме BIOS с установленных систем, работающих в режиме UEFI.

    • Некоторые незначительные, но раздражающие ошибки раздавлены.

    • С помощью файлов iso, которые я смог загрузить, я могу создавать такие типы установочных дисков Windows

      • Установщик Windows 7, который загружается в режиме BIOS
      • Установщик Windows 8.1, загружающийся в режиме UEFI и BIOS
      • Установщик Windows 10, который загружается в режиме UEFI и BIOS

Простой метод «Сделай сам»

sudodus
источник
2
Mkusb-nox - лучшее решение, которое я нашел, тем более что ответы со ссылкой на Winusb на этой странице устарели, так как эта программа больше не поддерживается и не работает из коробки с 16.04, продолжайте в том же духе, Sudodus.
CSCameron
1
Dus работал на меня.
Альберто Сальвия Новелла
Спасибо вам за вашу работу. К вашему сведению из Ubuntu 16.04 я получаю сообщение об ошибке в конце процесса:Bootloader: grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
Pointy
... однако кажется, что
Pointy
@Pointy, вы запускаете mkusb в установленной системе Ubuntu в режиме UEFI? В этом случае возникает проблема: программный пакет grub-pcне может быть установлен, пока не будет grub-efiудален «конкурирующий» пакет . Это можно решить, запустив [постоянную] живую систему на основе Ubuntu или Ubuntu с mkusb. Такая система может работать как в BIOS, так и в режиме UEFI, и grub-pcможет быть установлена ​​вместе с пакетом `grub-efi '. Посмотрите эту ссылку, help.ubuntu.com/community/mkusb/…
sudodus
13

winusb из принятого ответа - единственный простой способ, который я нашел.

Тем не менее, нет никакого winusb пакета для дерзкого. Однако вы можете установить пакет raring, загрузив его здесь и открыв его с помощью установщика программного обеспечения. Это работает с дерзким.

http://ppa.launchpad.net/colingille/freshlight/ubuntu/pool/main/w/winusb/

kiepmad
источник
1
Winusb для дерзости теперь доступен в репозитории ppa: colingille / freshlight
Prasad RD
7

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

Окей, если вы из Ubuntu 13.10,13.04,12.10,12.04, запустите это в терминале:

sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install winusb

и если вы из Ubuntu 14.04, запустите это в терминале:

sudo add-apt-repository ppa:colingille/freshlight
sudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/colingille-freshlight-trusty.list"
sudo apt-get update
sudo apt-get install winusb

WinUSB поставляется с простым графическим интерфейсом с минимальными опциями, вот как использовать WinUSB для создания загрузочного Windows USB из Ubuntu. Вы можете использовать любой Windows ISO, может быть для XP, Windows 7, Windows 8, Windows 8.1 или любой другой.

  1. Вставьте флэш-накопитель и получите Windows ISO (я использовал Windows 10 Technical Preview) или вставьте компакт-диск / DVD с Windows
  2. Запустите WinUSB, и больше ничего не нужно объяснять.
  3. Выберите свой источник, ISO или CD-привод
  4. Выберите свое целевое (USB) устройство. Если он не появляется, нажмите «Обновить» и убедитесь, что он установлен.
  5. Нажмите «Установить» и введите свой пароль (необходим для подключения устройств и записи непосредственно на диски)

Это все, что вам нужно сделать, чтобы создать загрузочную флешку Windows USB

Источник: Как установить и использовать WinUSB в Ubuntu

Лузан Барал
источник
4

Для любого исключения исключения файла, использующего woeUsb, используйте команду терминала

sudo woeusb --device /home/uName/Downloads/Win10_1809Oct_English_x64.iso /dev/sdb --target-filesystem NTFS

Вместо того, чтобы /home/uName/Downloads/Win10_1809Oct_English_x64.isoиспользовать свой путь к ISO-файлу и

Вместо того чтобы /dev/sdbиспользовать свой путь, делайте флешку.

Манохар Редди
источник
2

Для полноты позвольте мне добавить инструкции о том, как создать загрузочный USB-диск из ISO-образа обновления UEFI / BIOS ThinkPad. Ни один из приведенных выше ответов не работал для меня. (Возможно, есть похожие проблемы с другими поставщиками.)

  1. Создайте файл img сgeteltorito

    sudo apt install genisoimage
    geteltorito <image>.iso -o <image>.img
    
  2. Запишите файл img на диск. Использование этого точного размера блока важно.

    sudo dd if=<image>.img of=/dev/sdX bs=512K && sync
    
Нико Шлёмер
источник