Come posso creare una chiavetta USB avviabile di Windows usando Ubuntu?


446

Vorrei creare una chiavetta USB di avvio di Windows 8, ma non ho un computer Windows con me per farlo.

Quindi, come posso fare usando Ubuntu?


31
Psicofrenia "UNetbootin ti consente di creare unità Live USB avviabili avviabili per Ubuntu, Fedora e altre distribuzioni Linux senza masterizzare un CD", e ho già provato ad usarlo e ho scoperto che UNetbootin non può davvero essere usato per creare chiavette USB avviabili di Windows .
Zignd,

Hai provato a seguire i tutorial di Windows 8 su come masterizzare i tick USB e utilizzare Wine per eseguire uno di quei software indicati?
Psicofrenia,

Ebbene questo ragazzo sembra pensare il contrario ... -> CREARE UN DRIVE di avvio di Windows 7 USB da Linux (testato su Ubuntu)
Meintjes

1
@MrSeed Ho provato questo tutorial e scaricato anche la versione precedente di UNetbootin, ma il problema è che la versione precedente dipende da una libreria che non è disponibile per Ubuntu 13.04 perché è troppo vecchia, a proposito la versione più recente del la libreria è disponibile, ma l'app non funziona ancora con essa installata.
Zignd,

2
UNetbootin genera sempre qualsiasi errore
gal007

Risposte:


299

WinUSB è vecchio, obsoleto e obsoleto. Può causare problemi sui sistemi più recenti. Dovresti usare WineUSB o altri software al posto di WinUSB.

Questa risposta, tuttavia, è lasciata qui com'è per scopi storici.

Crea un USB di Windows avviabile (Vista e versioni successive) da Ubuntu tramite il software WinUSB .

Ubuntu da 12.04 a 15.04

Eseguire i comandi seguenti sul terminale per installare WinUSB da un PPA ,

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

Schermata di WinUSB

Avviso per Ubuntu EFI:

l'installazione di WinUSB su Ubuntu caricato con EFI disinstallerà i pacchetti grub-efi per installare i pacchetti grub-pc. Renderà il tuo sistema non avviabile se non reinstalli manualmente il pacchetto grub-efi prima di riavviare.

Per eseguire la reinstallazione manuale, procedere come segue:

sudo update-grub
sudo grub-install /dev/sda
sudo update-grub
sudo reboot

1
Sarebbe qualcosa di sudo add-apt-repository "deb http://ppa.launchpad.net/colingille/freshlight/ubuntu saucy main"meglio per il 14.04? apt-add-repositorynon è solo per PPA ...
Wilf,

6
@empedokles 1. Se vuoi creare una USB Windows XP, dimenticala. Non funziona con WinUSB. 2. Per correggere l'errore 512 leggi questo .
Cornelio,

2
@ThoVo leggi questa risposta: askubuntu.com/a/539803/269282
Cornelius,

2
Non funzionerà il 15.10, 16.04, 16.10
Rancho,

6
Questo post è obsoleto, WinUsb è stato sospeso, ma c'è WoeUsb che è ben mantenuto. Dai un'occhiata anche a queste risposte (che richiedono più voti): askubuntu.com/a/928874/256359 askubuntu.com/a/489556/256359
davcri

209

Qualsiasi versione di Ubuntu

anche altre distro Linux purché GParted e GRUB siano installati.

Installa GParted, GRUB, 7z e NTFS su Ubuntu con:

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

Per BIOS: schema di partizione MBR

  1. Usando GParted, riscrivi la tabella delle partizioni dell'unità USB come msdos , formattala come NTFS , quindi "Gestisci flag" e aggiungi il bootflag.
  2. In GParted, fai clic con il pulsante destro del mouse sulla partizione USB e seleziona Informazioni . Copia l'UUID da qualche parte quando ne avrai bisogno.
  3. Montare ISO o DVD di Windows e copiare tutti i suoi file sull'unità USB.
  4. Vai all'unità USB e se la cartella denominata bootha caratteri maiuscoli, rendili tutti minuscoli rinominandolo.
  5. Installa GRUB sull'unità USB.

    Nel comando seguente, sostituire /dev/sdXcon il dispositivo (ad esempio /dev/sdb, non /dev/sdb1 ) e sostituire <USB_mount_folder>con la cartella in cui è stata montata l'unità USB (che potrebbe essere simile /media/<username>/<UUID>).

    sudo grub-install --target=i386-pc --boot-directory="/<USB_mount_folder>/boot" /dev/sdX
    
  6. Creare un file di configurazione di GRUB nella cartella dell'unità USB boot/grub/con il nome grub.cfg.

    Scrivi questo nel file, sostituendolo <UUID_from_step_2>con l'UUID che hai copiato nel passaggio 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. Smonta l'unità USB.

  8. Ora per usarlo, riavvia il PC e avvia l'unità USB.

Per UEFI: schema di partizione GPT *

* Le versioni / edizioni precedenti di Windows potrebbero non essere supportate correttamente o non supportate affatto. Suggerisco di leggere la pagina del firmware Microsoft UEFI .

  1. Utilizzando GParted riscrivi la tabella delle partizioni dell'unità USB come GPT .
  2. Crea una nuova partizione primaria e formattala come FAT32 .
  3. Copia tutti i file di Windows (da ISO o DVD montati) sull'unità USB.
  4. Cerca USB nella efi/boot/cartella. Se c'è un file bootx64.efi( bootia32.efi), il gioco è fatto. L'USB è avviabile. Vai al passaggio 7.
  5. Altrimenti, apri sources/install.wimcon Archive Manager (devi averlo 7zinstallato) e vai a ./1/Windows/Boot/EFI/. Da qui estrarre bootmgfw.efida qualche parte, rinominarlo in bootx64.efi(o bootia32.efiper il sistema operativo a 32 bit supportato [?]) E inserirlo in USB nella efi/boot/cartella.
  6. Se stai creando una USB 7 per Windows, copia la bootcartella da efi/microsoft/a eficartella.
  7. Non dimenticare di smontare (rimuovere in sicurezza) l'unità USB. Seleziona il caricatore EFI appropriato dal tuo BIOS.

Fonte: il mio post sul blog su questo può essere trovato su Crea un Windows USB avviabile da Linux .

Nota

Se utilizzati correttamente con un sistema operativo di destinazione compatibile, entrambi questi metodi dovrebbero ottenere un'unità USB avviabile. Tuttavia, ciò non garantisce un'installazione corretta di Windows.


2
@GuiImamura fai clic con il pulsante destro del mouse sulla partizione in GParted, seleziona Gestisci bandiere e seleziona la casella di controllo accanto all'avvio .
Cornelius,

8
Il metodo EFI è il modo di farlo per Win10. E puoi saltare in sicurezza i passaggi 4-6 al giorno d'oggi.
Ivan Anishchuk,

2
Dopo aver provato molte altre cose, questo è l'unico che ha funzionato per me. Grazie.
becko,

3
Posso confermare che il metodo UEFI / GPT funziona senza i passaggi 4-6 con Windows 10.
josch

2
Se riscontri errori, controlla il suo post sul blog (collegato in fondo alla sua risposta) per informazioni dettagliate. Le soluzioni per alcuni casi di errore potrebbero essere utili.
Teo,

100

Ubuntu 14.04 e versioni successive

WinUSB è uno strumento per la creazione di un'unità flash USB avviabile utilizzata per l'installazione di Windows. L'avvio UEFI nativo è supportato per le immagini di Windows 7 e successive. WoeUSB è un fork aggiornato del progetto WinUSB.

Alcuni programmi di installazione di terze parti presentano immagini di installazione di Windows ( /sources/install.wim) superiori a 4 GB che rendono impossibile FAT32 come file system di destinazione. Il supporto del filesystem NTFS è stato aggiunto a WoeUSB 3.0.0 e versioni successive.

Per installare WoeUSB (fork aggiornato del progetto WinUSB) in 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

Per installare WinUSB in Ubuntu 14.04 / 16.04 / 16.10 / 17.04:

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

Ciò installerà l'interfaccia grafica di WinUSB e lo strumento da riga di comando di WinUSB. WinUSB e WoeUSB supportano sia UEFI che BIOS per unità flash USB FAT32 / NTFS / ExFAT.

La GUI di WinUSB è molto più facile da usare rispetto allo strumento da riga di comando di WinUSB. Per installare una ISO di Windows su una partizione NTFS e modificare il Master Boot Record (MBR) del dispositivo utilizzando lo strumento da riga di comando WinUSB e WoeUSB, eseguire il comando seguente: Fare clic sul pulsante di opzione a sinistra di dove viene visualizzato Da un'immagine del disco (iso ) , individuare la posizione del file .iso di Windows, in Dispositivo di destinazione selezionare un'unità flash USB, aprire l'applicazione Dischi e verificare che il nome del dispositivo in Dischi corrisponda al dispositivo di destinazione in WinUSB (dovrebbe essere qualcosa come / dev / sd X dove X è una lettera dell'alfabeto) e fare clic sul pulsante Installa per installare per creare un supporto di installazione di Windows di avvio sull'unità flash USB.

inserisci qui la descrizione dell'immagine

L'installazione di WinUSB su Ubuntu caricato da EFI disinstalla i pacchetti grub-efi per installare i pacchetti grub-pc, quindi prima di riavviare eseguire i seguenti comandi per riparare grub:

sudo update-grub
sudo grub-install / dev / sd X # sostituisce X con la lettera della partizione in cui si trova grub
sudo update-grub
riavvio sudo

1
Funziona (usato la versione a 64 bit)
Pavak Paul

2
Oppure usa dd come tutti gli altri ...
ChangosMuertos,

1
Ho dovuto comprare una chiavetta USB di qualità superiore per farlo funzionare. Immagino che non sia un problema specifico di WinUSB, comunque.
Seth

$ sudo add-apt-repository ppa: nilarimogard / webupd8 Impossibile aggiungere PPA: 'ppa: ~ nilarimogard / ubuntu / webupd8'. ERRORE: l'utente o il team "~ nilarimogard" non esiste.
Christophe Ferreboeuf,

Funziona sul mio computer. Dovresti vedere un messaggio che dice: More info: https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8 Press [ENTER] to continue or ctrl-c to cancel adding itDopo aver visto questo messaggio premi il tasto Invio per continuare. Forse hai un problema di connettività.
Karel,

52

Scrivere ISO con WoeUSB (fork di WinUSB)

Alcune risposte sono obsolete, poiché WinUSB non funziona più. Ma c'è un fork funzionante chiamato WoeUSB .

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

Installazione

Non disinstalla più grub-efi!

☞ Ubuntu / Debian

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

☞ Arch

pacaur -S woeusb-git

☞ Fedora

dnf install -y WoeUSB

☞ OpenSUSE

zypper install WoeUSB

Scrivere l'ISO

Dopo l'installazione, scrivi l'ISO di Windows con il seguente comando:

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

(Sostituire il Xin /dev/sdXcon la lettera corrispondente al vostro USB. Potete trovare che è quella corretta nei dischi di programma.)


2
Ha funzionato perfettamente. Su Achlinuxpacaur -S woeusb-git
dvim il

1
WoeUSB è perfetto! E, a differenza di WinUSB, non richiede l'intero web-kit come dipendenza (solo il web-kit di compilazione richiede un paio d'ore sul mio PC desktop).
davcri,

2
Sui Error: Target device is currently busyproblemi, utilizzare sudo umount /dev/sdb(o il rispettivo dispositivo). ( "Espulsione" la chiavetta USB è non . Aiuta, dato che non deve essere completamente andato, solo la partizione non montata, altrimenti l'errore sarà: probing initialization failed: No medium found)
Frank Nocke

2
Ha anche lavorato su Fedora 28 con un iso Win10_1803_x64. Per installare:dnf install -y WoeUSB
eddygeek,

6
Se viene visualizzato un errore "Il file nell'immagine di origine ha superato la limitazione della dimensione del file singolo 4GiB del filesystem FAT32", sarà necessario aggiungere --tgt-fs ntfsalla riga di comando.
Adam Dingle, il

49

L'attuale catena di avvio di UNetbootin non è compatibile con UEFI e computer forniti con una copia preinstallata di Windows 8

Puoi usare ddinvece, facendo attenzione a quello che stai facendo:

sudo dd if=/path/to/iso/windows.iso of=/dev/sdX bs=4M; sync
  • Sostituire sdXcon l'unità che si desidera utilizzare (nel mio caso, sdg):
  • Ciò richiede che la scheda madre sia in grado di avviarsi da CDROM-USB.

Se vuoi ancora usare UNetbootin, ci sono 2 (3) cose di cui avrai bisogno:

  1. UNetbootin
  2. Gparted
  3. Accesso a Internet per installare tutto quanto sopra, l'immagine ISO di Windows e una chiavetta USB con più di 4 GB.

Quindi, prima di tutto, fai il backup di tutto il contenuto della tua chiavetta USB . Una volta fatto, installa gparted e unetbootin:

sudo apt-get install gparted unetbootin

Ora cerca gparted nel Dash o digita gpartedil terminale. Seleziona la tua chiavetta USB dall'elenco a discesa a destra. Nel mio caso /dev/sdg, il tuo potrebbe essere diverso. Rimuovi tutte le partizioni e crea una singola grande partizione FAT32 con Gparted.

Una volta fatto, scollegare e collegare la chiavetta USB in modo che venga montata (puoi anche montarla dalla stessa GParted), ora esegui Unetbootin, di nuovo, puoi guardare nel trattino o digitare nel terminale. Selezionare che si desidera utilizzare un iso, cercare il percorso dell'ISO.

Seleziona la casella di controllo per visualizzare tutti i dispositivi, qui devi selezionare lo stesso dispositivo selezionato in Gparted, altrimenti i tuoi dati potrebbero andare persi . Seleziona continua. Aspetta un momento e fatto. Riavvia il PC e seleziona l'avvio da USB.


1
@gcb strano, era un Windows 8?
Braiam,

1
buon punto. no. era windows7 pro. Controllerò con win8 per vedere se quel cd ha il formato sd / hdd.
gcb,

2
Preferisco la tua risposta (la variante dd) a quella accettata, semplicemente perché non richiede l'aggiunta di un altro repository o nemmeno l'installazione di alcun software (non è necessario unetbootin, basta usare dd).
doublehelix,

7
ddnon ha funzionato per me, il computer non si è avviato dal pendrive. Se vuoi usare UNetbootin su un pendrive formattato ntfs , devi avviarlo dalla riga di comando: sudo unetbootin installtype=USB targetdrive=/dev/sdb1(sdb1 è la partizione formattata ntfs del mio pendrive, la tua potrebbe essere diversa).
erik,

7
A partire da questa risposta a serverfault il metodo dd fallisce molto spesso, perché richiede che la scheda madre sia in grado di avviare USB-CDROM non solo USB-HDD .
erik,

19

Nelle macchine non UEFI, possiamo usare GRUB2 per rendere avviabile la chiavetta USB. Quindi, possiamo usare il comando 'ntldr' in GRUB2 per avviare Windows da USB.

  • Abilitare il flag di avvio sulla partizione di destinazione dell'unità USB. Può essere fatto facilmente con l'uso dello strumento chiamato "GParted". È uno strumento GUI per il partizionamento dell'unità.
  • Se l'immagine di installazione è un file ISO, montalo e accedi ai file.
  • Copia tutti i file nella directory principale dell'unità USB.
  • Installa GRUB su unità USB:

    sudo grub-install --boot-directory="/media/user/MyUSBDrive/boot" /dev/sdX
    
  • Configurare GRUB per l'avvio di Windows posizionando il seguente file come "/boot/grub/grub.cfg" nell'unità USB:

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

Vedi la risposta completa sul mio blog Creazione di una USB avviabile da Windows da Linux


2
Nessuna installazione richiesta. I passaggi più semplici. Avrei dovuto provare questo prima della risposta accettata
Anurag il

Il comando grub-install deve essere eseguito come superutente. Solo informazioni mancanti
Anurag il

4
QUESTA È LA RISPOSTA FINALE !!!
Danial Behzadi

3
Questa è la stessa della risposta "Qualsiasi versione di Ubuntu ... schema di partizione MBR" ma manca l' --target=i386-pcopzione per grub-installe non usa il comando grub2 search per trovare il "root" da cui avviare. Forse non è necessario ...
David Tonhofer,

Penso che sia necessario qualcos'altro da installare, non ho i386-pc come opzione.
Teknopaul,

15

mkusb-nox e mkusb versione 12 possono creare unità di installazione di Windows

Sembra difficile trovare uno strumento Linux in grado di creare unità di avvio (chiavette USB, schede di memoria ...) con Windows, quindi ho aggiunto questa funzione a mkusb-nox e successivamente ho creato mkusb versione 12 con questa funzione. Funziona con tutte le versioni correnti di Ubuntu (e versioni di Ubuntu: Kubuntu, Lubuntu ... Xubuntu) e con Debian Jessie. L'unità di avvio creata può avviare Windows a 64 bit in modalità UEFI e BIOS.

Ottieni / aggiorna questa nuova versione di mkusb e mkusb-nox dal mkusb PPA tramite i seguenti comandi

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

Vedi questi link,

mkusb-nox 11.1.2: funzionalità aggiunta: crea unità di installazione USB per Windows

mkusb / v7 - pagina della guida di Ubuntu

mkusb-nox può creare una chiavetta USB con Windows 7 - 10, ma devi far fronte a un'interfaccia a riga di comando.

Modifica 1: Novità: mkusb versione 12 , la nuova versione fornisce un'interfaccia utente grafica per lo stesso metodo. Vedi questi link,

help.ubuntu.com/community/mkusb#Windows_USB_install_drive

mkusb-nox: screenshot della finestra di dialogo dell'utente

dus con guidus alias mkusb versione 12: inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Modifica 2:

  • Una nuova versione migliorata, mkusb 12.2.9 , è ora disponibile tramite il PPA standard (e stabile).

    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
    
    • Può installare per la modalità BIOS anche da sistemi installati in esecuzione in modalità UEFI.

    • Alcuni bug minori ma irritanti vengono schiacciati.

    • Con i file ISO, che sono stato in grado di scaricare, posso creare questo tipo di unità di installazione di Windows

      • Programma di installazione di Windows 7 che si avvia in modalità BIOS
      • Programma di installazione di Windows 8.1 che si avvia in modalità UEFI e BIOS
      • Programma di installazione di Windows 10 che si avvia in modalità UEFI e BIOS

Un semplice metodo "fai da te"


2
Mkusb-nox è la migliore soluzione che ho trovato, soprattutto perché le risposte che citano Winusb in questa pagina sono obsolete poiché questo programma non è più supportato e non funziona immediatamente con 16.04, continuate così Sudodus.
CSCameron,

1
Dus ha lavorato per me.
Alberto Salvia Novella,

Grazie per il tuo lavoro. Cordiali saluti da Ubuntu 16.04 Ottengo un errore alla fine del processo:Bootloader: grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
Pointy

... tuttavia la chiavetta USB sembra funzionare (sto installando Win 10 su una macchina diversa da quella che ho usato per fabbricare la chiavetta USB.)
Pointy,

@Pointy, stai eseguendo mkusb in un sistema Ubuntu installato in modalità UEFI? In tal caso c'è un problema: il pacchetto del programma grub-pcnon può essere installato se non grub-efiviene rimosso il pacchetto "concorrente" . Può essere risolto eseguendo un sistema Ubuntu o Ubuntu live [persistente] con mkusb. Un tale sistema può funzionare sia in modalità BIOS che UEFI, e grub-pcpuò essere installato insieme al pacchetto `grub-efi '. Vedi questo link, help.ubuntu.com/community/mkusb/…
sudodus


7

Puoi usare WinUSB per questo per installare WinUSB sul tuo Ubuntu seguendo queste istruzioni.

Okey, se vieni da Ubuntu 13.10,13.04,12.10,12.04, esegui questo nel terminale:

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

e se vieni da Ubuntu 14.04, eseguilo nel terminale:

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 viene fornito con una semplice GUI con opzioni minime, ecco come utilizzare WinUSB per rendere Windows USB avviabile da Ubuntu. È possibile utilizzare qualsiasi ISO di Windows sia per XP, Windows 7, Windows 8, Windows 8.1 o qualsiasi altro.

  1. Inserisci Flash Drive e ottieni l'ISO di Windows (ho usato l'anteprima tecnica di Windows 10) o inserisci il CD / DVD di Windows
  2. Avvia WinUSB e, nient'altro ha davvero bisogno di essere spiegato.
  3. Seleziona la tua sorgente, ISO o CD Drive
  4. Scegli il tuo dispositivo di destinazione (USB). Se non viene visualizzato, premi Aggiorna e assicurati che sia montato.
  5. Fai clic su "Installa" e inserisci la tua password (necessaria per montare i dispositivi e scrivere direttamente sulle unità)

Questo è tutto ciò che devi fare per creare una chiavetta USB di Windows avviabile

Fonte: Come installare e utilizzare WinUSB in Ubuntu


4

Per chiunque ottenga l'eccezione del limite di file utilizzando woeUsb, utilizzare il comando terminal

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

Invece di /home/uName/Downloads/Win10_1809Oct_English_x64.isousare il tuo percorso per iso file e

Invece di /dev/sdbusare il tuo percorso, fai il flash drive.


2

Per completezza, vorrei aggiungere le istruzioni su come creare un disco USB avviabile dagli ISO di aggiornamento UEFI / BIOS di ThinkPad. Nessuna delle risposte sopra ha funzionato per me. (Forse ci sono problemi simili con altri fornitori.)

  1. Crea un file img congeteltorito

    sudo apt install genisoimage
    geteltorito <image>.iso -o <image>.img
    
  2. Scrivi il file img sul disco. L'uso di questa dimensione esatta del blocco è importante.

    sudo dd if=<image>.img of=/dev/sdX bs=512K && sync
    
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.