Più programmi di installazione di Windows su una chiavetta USB


12

Di recente ho messo le mani su uno di quei bastoncini SanDisk Extreme da 64 GB e ho iniziato a armeggiare con esso. Durante questa storia, tieni presente che questo è un modello in cui removablebit è impostato 0(il che significa che Windows vede tutte le sue partizioni di default - ognuna è mostrata come un singolo disco in Explorer).

obiettivi:

  1. Per avere molte diverse distribuzioni avviabili su un singolo stick
  2. Tra questi dovrebbero esserci il programma di installazione di Windows 7 E il programma di installazione di Windows 8
  3. Solo una partizione dovrebbe essere montata automaticamente in Windows (e preferibilmente altri SO), la prima (archiviazione per i file). Questo per evitare l'alterazione accidentale di partizioni o file avviabili su di essi. Dovrebbe essere di tipo NTFS.
  4. Opzionalmente, vorrei anche un Linux completamente persistente avviabile direttamente (preferibilmente Ubuntu) su questo stick.
  5. Tutte queste funzioni dovrebbero essere disponibili da un singolo menu mostrato al momento dell'avvio della macchina dalla chiavetta USB.

divagazioni:

Ora tutto ciò può essere ottenuto abbastanza facilmente usando una combinazione di SYSLINUX e GRUB (vedrai di seguito). Tuttavia, c'è un problema: tutti gli elementi di avvio basati su Linux (quelli che usano create ramdisk -> load kernel -> have funschemi: come PartEd Magic, Ubuntu Installer, ecc.) Sembrano non avere alcun problema a correre dalla propria cartella su una singola partizione di avvio. Vanno d'accordo semplicemente inserendoli in cartelle diverse e indicando singole voci del menu SYSLINUX (qualunque cosa essi usino dopo, potrebbe essere solo un altro SYSLINUX :)).

Il problema (come sempre: D) è nei programmi di installazione di Windows. (O dovrei dire bootmgr) si rifiutano di riconoscere i percorsi relativi. Se metti un programma di installazione di Windows in una cartella, ad esempio, in Win7modo che appaia /Win7/bootmgr, l'oggetto dannato cerca \Boot\BCDquando passa il controllo (non \Win7\Boot\BCD- la posizione in cui è effettivamente archiviato). Avendo appreso che, naturalmente, non è possibile inserire più di un programma di installazione di Windows su una singola partizione (una singola struttura di directory). Questo viola GOAL 2 .

Schema attuale:

Hai bisogno di 10 reputazione per pubblicare immagini :(. Ecco lo schema visualizzato.

Descrizione:

  1. Partizione NTFS normale. Fai quello che vuoi con esso - non influenzerà quei collegamenti di avvio sensibili :)
  2. Partizione di avvio FAT32. Qui è dove il controllo viene trasferito dall'MBR. Questo deve essere primario per poter trasferire il controllo dall'MBR. Contiene SYSLINUX principale - quello che mostra il menu ( GOAL 5 e GOAL 1 ). Tutte le partizioni sottostanti vengono estese per sollevare max-4-partizioni primarie per disco
  3. Programma di installazione di Windows 7. Questa partizione contiene bootsector che punta a GRUB su di essa che punta a /bootmgr(non chiedere perché così tanti bootloader - è una configurazione di prova :)). Funziona bene, tranne le preoccupazioni di seguito ( GOAL 2 ).
  4. Programma di installazione di Windows 8. Questa partizione contiene bootsector che punta a GRUB su di essa che punta a /bootmgr. Funziona bene, tranne le preoccupazioni di seguito ( GOAL 2 ).
  5. Partizione Linux persistente su cui è stato installato Ubuntu usando metodi normali (dalla stessa chiavetta USB). Usa GRUB per gestire il suo menu di avvio. Ovviamente ha anche il settore di avvio ( GOAL 4 ).
  6. Linux Swap. Utilizzato da Linux sulla partizione precedente di solito, ma non è vincolato da alcuna restrizione su chi può usarlo.

Ora sembra tutto a posto (e funziona) .. tranne GOAL 3 .

I problemi:

  1. Ho provato a usare hiddenflag per nascondere quelle partizioni alla vista di Windows e ha funzionato bene, anche troppo bene. Li ha anche nascosti alla vista dell'installatore di Windows. Quando ho provato a installare Windows da una partizione nascosta, il programma di installazione in pratica non ha trovato da dove è partito: O. Questo è un problema critico .
  2. Ho usato 2 partizioni aggiuntive per ospitare i programmi di installazione di Windows. Questo non è davvero un ottimo schema poiché ogni volta che desidero cambiare qualcosa e non si adatta a questi, devo ripartizionare. Questo è un problema NON CRITICO - posso conviverci.

I miei pensieri:

  1. Ci sono cose là fuori come ISOLINUX e GRUB4DOS (vengono fuori quando si cerca in merito). Da quello che ho capito, possono aiutarmi a montare effettivamente .iso avviabile di Windows Installer . È vero? Alcune pagine contengono un avviso relativo alle immagini montate in questo modo saranno accessibili solo nella fase di avvio del BIOS - all'avvio del programma di installazione di Windows non sarà possibile visualizzare l'immagine montata. È vero? Puoi indicarmi la giusta direzione?
  2. Forse avrei potuto usare un po 'di installazione personalizzato per Windows (perché in sostanza, io combatto bootmgrqui al 100% del tempo) o chrootl' bootmgrin qualche modo che diventi sano di mente? Questo può essere eseguito? Penso che questo mi lasci ancora con un problema che la partizione è ancora nascosta e il programma di installazione probabilmente non la vedrà
  3. Forse potrei hackerare il percorso bootmgr, anche se questo è un presupposto piuttosto audace :)

Se ci sono ulteriori consigli in merito, sei invitato a discuterne qui. Sono aperto a qualsiasi suggerimento. Se c'è qualcosa che deve essere chiarito o devono essere fornite informazioni aggiuntive, non esitare a chiedere.

Grazie mille!


Programmi di installazione di Windows WRT: Perché sono necessari più bootloader? Dovrebbe essere possibile modificare le sue voci per poter avviare entrambi i programmi di installazione dalla stessa partizione utilizzando la versione più recente (ovvero quella di Windows 8)?
Mario,

Potete fornire l'esempio su come farlo? Per quanto ho capito, ti riferisci a un'installazione in cui utilizzo un singolo bootmgr ma più installer? Qualcosa che potrei leggere su questo?
Gear54rus,

Non l'ho mai provato da solo, ma fondamentalmente il gestore di avvio sul DVD di installazione non è diverso da una normale installazione di HDD, quindi dovresti essere in grado di utilizzare strumenti come BCDEdit per creare un'impostazione "dual boot".
Mario,

Ok, penso di aver trovato la soluzione parziale. Pubblicherò tutto qui quando lo testerò a fondo. Sono ancora rimasto con un altro problema: come faccio a vedere il programma di installazione di Windows vedere la pertizione nascosta
Gear54rus

Ho modificato il file BCD. Quello che ho fatto è stato decomprimere il programma di installazione .iso di Windows 7 nella cartella / Win7 su una partizione SYSLINUX. Quindi ho tirato bootmgre bootda Win7 nella cartella principale e modificato il /boot/BCDfile per riflettere quelli modificati in devicee osdevicenodi. Dopo che il programma di installazione si avvia bene da SYSLINUX via, chain.c32 fs ntldr=/bootmgrma dopo viene visualizzato il A required CD/DVD drive device driver is missingmessaggio temuto . Il reinserimento in un'altra porta USB non aiuta. Quando faccio clic Browsevedo che ramdisk è stato montato correttamente e ha tutte le cartelle di cui ha bisogno. Mi sono perso di nuovo :(
Gear54rus,

Risposte:


6

Dopo un lungo viaggio alla fine riuscito, sono stato in grado di raggiungere tutto.

Ho creato un tutorial su come eseguire questa operazione . Controlla.

Per richiesta, sto anche postando tutto quanto segue:

Software:

Prima di tutto: hai bisogno di un PC con Windows 7/8 e accesso amministrativo ad esso (Vista potrebbe funzionare, non sono sicuro). Qui è dove verrà eseguito il tutorial.

Per eseguire tutto ciò di cui avremo bisogno questo pacchetto software , è anche riprodotto su GitHub (fare clic su Scarica ZIP ). [0] (d'ora in poi i riferimenti saranno contrassegnati con [] ). Per scaricarlo, potrebbe essere necessario registrarsi lì (non so perché).

Il pacchetto software include:

  • YUMI di pendrivelinux.com . [1]
  • altmbr.bin dal pacchetto SYSLINUX che consente di avviare la partizione in base al numero. [2]
  • Script multipli e un eseguibile (incluso il programma vmount - versioni a 32 e 64 bit di erwan.l e dormono a 32/64 bit da questo thread per far funzionare tutto insieme [3] .

Inoltre, è necessario scaricare quanto segue:

  • WinSetupFromUSB (successivamente WSFUSB). Questo è fondamentale per far funzionare questo schema. Utilizzare la versione .exe se 7zip non è installato. Questo tutorial è stato scritto nel momento in cui la versione 1.4 era l'ultima. [4]

Opzionalmente (il software che raccomando che renderà il processo più semplice e flessibile ma non è necessario):

  • Gparted live .iso per il partizionamento e l'impostazione dei flag di partizione (gli analoghi includono Parted Magic che ha deciso di pagare di recente o Partition Wizard che è più piccolo, ma tieni presente che non è Gparted e devi avere qualche esperienza per gestirlo). [5]
  • Notepad ++ è un editor di testo superiore per Windows con molti plugin. [6]

E, naturalmente, alcuni programmi di installazione di Windows .isoe alcune distribuzioni Linux avviabili, che potrebbero essere qualsiasi cosa supportata da YUMI e SYSLINUX (potrai verificarlo più avanti in questo tutorial).

Quando scarichi tutto questo, sei pronto per i prossimi passi.

Concetto:

Qui, verrà brevemente discusso lo schema operativo.

Lo schema discusso qui è quello che uso per la mia configurazione. Non è certamente l'unico modo per raggiungere lo stesso obiettivo: farò del mio meglio per provare a spiegarlo in modo da poter personalizzare la configurazione in base alle proprie esigenze.

Questo processo sembra essere meglio descritto in figura. (mi dispiace per Paint, il design grafico non è davvero il mio lato forte):

Concetto

È praticamente tutto. Non so davvero come spiegarlo meglio. Monitorerò questo thread, sentiti libero di porre domande nelle risposte.

Azioni:

  1. [Configurazione del software]

    1. Estrai il pacchetto software [0] in una cartella ( tutto il software richiesto è elencato sopra, guarda lì se non l'hai già fatto ).
    2. Estrai WinSetupFromUSB nella stessa cartella (in modo che sia accanto YUMI.exee tutte le altre cose). Fare doppio clic su di esso ed estrarre nella stessa cartella.
    3. Ora prendi la cartella con WinSetupFromUSB e trascinala sul drag_here.cmdfile. In questo modo (anche la struttura delle cartelle dovrebbe essere così): DND se hai fatto tutto nel modo giusto, verrà mostrata una finestra che dice che il processo è stato completato:
      WinSetupFromUSB was set up successfully, you can delete that folder.
      Now it's time to run 'start_admin.cmd'.
      Press any key to continue...
    4. Proprio come dice, premere un tasto qualsiasi per chiudere la finestra. Non eseguire ancora start_admin.cmd. Andare al passaggio successivo per definire la struttura della partizione.
  2. [Partizionare]

    1. Decidi la struttura della partizione: la tua dovrebbe includere almeno 1 partizione di archiviazione e almeno 1 partizione di avvio . La partizione di avvio deve essere di tipo FAT32 ( FAT32 ha una limitazione del file più grande - 4 GB e un volume più grande - 32 GB che è 32768 MB . Se si prevede di utilizzare file o volumi più grandi, non è possibile utilizzare NTFS ma si può provare exFAT come esperimento - non l'ho provato) e l'archiviazione può essere qualsiasi cosa ma consiglio NTFS. Il mio assomiglia a questo: la partizione di Struttura archiviazione è NTFS da 32 GB e la partizione di avvio è FAT32 da 15 GB (non ha una lettera come G: poiché ha già impostato un flag nascosto , lo scoprirai più avanti).Se si utilizza un disco di grandi dimensioni, potrebbe essere una buona idea inserire prima la partizione di avvio poiché alcuni BIOS hanno difficoltà a leggere oltre determinati limiti .
    2. La modalità di gestione del disco è descritta qui, ma è possibile utilizzare qualsiasi altro software che ti piace per applicare la struttura della partizione (come Gparted [5] menzionato in precedenza o Bootice che può essere avviato da WinSetupFromUSB ). Apri Gestione disco in Windows. Questo può essere fatto tramite la ricerca nel menu Start (digitare Gestione disco ) o nel Prompt dei comandi di Windows: diskmgmt .
    3. Applicare la struttura di partizione desiderata. Fare clic con il tasto destro su qualsiasi partizione per gestirla. Fare clic con il pulsante destro del mouse sullo spazio non allocato rimasto dopo l'eliminazione della partizione per creare una nuova partizione. Scegli sempre di assegnare la lettera di unità e puoi formattarla liberamente nella stessa procedura guidata: Creazione di partizioni
    4. Prima di uscire da Gestione disco, annotare il numero della partizione di avvio e il numero del disco nel sistema. Ecco come appaiono in Gestione disco: Indici qui, il numero del disco è 2 e il numero della partizione di avvio è 1 .
    5. Quando hai finito di applicare lo schema di partizione, è tempo di rendere questa unità effettivamente avviabile .
  3. [Aggiunta dell'ambiente di boot di base (YUMI)]

    1. Vai alla cartella dal passaggio 1 . Inizio YUMI.exe.
    2. Seleziona la casella Mostra tutte le unità e seleziona la partizione di avvio dall'elenco a discesa. Puoi anche scegliere di formattarlo .
    3. Ora è il momento di aggiungere alcune distribuzioni basate su Linux. Ho scelto Partition Wizard come esempio (puoi scegliere qualsiasi altra distribuzione e aggiungere più di una, il collegamento a Partition Wizard è riportato nella sezione SOFTWARE ). Si consiglia di aggiungere tutte le distribuzioni basate su Linux a questo punto, perché sarà più difficile farlo in seguito dopo la finalizzazione del disco .
    4. Seleziona Sfoglia e scegli la tua .isoimmagine. Lo schermo sarà simile al seguente: YUMI
    5. Fai clic su Crea e segui le istruzioni visualizzate. Quando viene richiesto se si desidera aggiungere altro, è possibile scegliere Sì e ripetere la procedura ( ovviamente non scegliere l'opzione di formattazione quando si ripete la procedura ) per aggiungere un'altra distribuzione.
    6. A questo punto, il disco è avviabile. Scollegare il disco e ricollegarlo (questo è necessario affinché Windows rilevi la partizione come attiva correttamente).
    7. Vai alla cartella dal passaggio 1 ed esegui start_admin.cmd come amministratore . Questo è fondamentale per il suo funzionamento, fai clic con il pulsante destro del mouse e seleziona Esegui come amministratore : Esegui come amministratore
    8. Ti chiederà il numero del disco e il numero della partizione avviabile (passaggio 2.4 ). Riapri Gestione disco e trova i numeri come hai fatto nel passaggio 2.4 . Specificare i rispettivi numeri e premere Invio .

    [ATTENZIONE] Ancora una volta, non sono responsabile di ciò che accade ai tuoi dischi (inclusi quelli non menzionati in questo tutorial) se non riesci a specificare i numeri di disco e partizione corretti in questo passaggio o in qualsiasi altro posto.


    1. Alla fine, ti chiederà se desideri che gli eseguibili vengano compressi prima di essere inseriti nell'unità USB. Al giorno d'oggi raramente le dimensioni sono un problema, quindi ti consiglio di inserire nqui (gli effetti collaterali inattesi potrebbero emergere in seguito se premi y, fallo solo se sai cosa stai facendo).
  4. [Aggiunta di programmi di installazione basati su Windows (WinSetupFromUSB)]

    1. Torna nella stessa cartella, vai nella cartella WSFUSB ( non nella cartella WinSetupFromUSB ) ed esegui WinSetupFromUSB.exe appropriato per l'architettura del tuo sistema.
    2. Scegli la tua partizione nel menu a discesa più in alto. Assicurati di farlo con attenzione.
    3. Seleziona la casella accanto al programma di installazione di Windows 7/8 e fai clic sul pulsante a destra per selezionare il tuo programma di installazione di Windows .iso .
    4. Seleziona la casella Opzioni avanzate . Assicurarsi che Non controllare e installare MBR grub4dos e avviare Q-Dir prima dell'installazione .
    5. Ricontrolla le tue impostazioni e assicurati che appaiano quasi identiche al 100% (tranne disco e .isopercorso) a questo esempio: WSFUSB
    6. Facoltativamente, è possibile selezionare nomi di menu personalizzati per Vista / 7/8 / Server Source in modo da poter vedere nomi personalizzati quando si selezionano le distribuzioni di Windows all'avvio.
    7. Quando sei pronto, premi il pulsante GO . Se hai selezionato la casella dal passaggio 4.7 , chiederà i nomi. Successivamente, attendere il completamento dell'operazione .
    8. Ripeti i passaggi per ogni distribuzione di Windows che desideri aggiungere.
  5. [Finalizzazione]

    1. A questo punto abbiamo 2 strutture avviabili : una per Linux ( inizia da MBR ) e una per Windows (inizia da bootmgr sulla partizione di avvio). Dobbiamo collegarli. Apri la partizione di avvio in Windows Explorer .
    2. Aprire il file <drive root>\multiboot\syslinux.cfg. Contiene informazioni sul menu che viene visualizzato all'avvio dall'unità. Ulteriori informazioni al riguardo sono disponibili qui: menu.c32 - sintassi syslinux.cfg , comando chain.c32 chainloader . Per ora, dobbiamo fare una voce di menu che ci permetterà di avviare i nostri programmi di installazione di Windows. Aggiungi le seguenti righe in fondo (o tra altre voci di menu) per creare una nuova voce di menu:
      MENU LABEL Windows Installers/Recoveries >>>
      MENU INDENT 1 
      KERNEL chain.c32
      APPEND fs ntldr=/bootmgr
      Preferibilmente, aggiungi una riga vuota prima e dopo questo codice . Se lo desideri, regola l' etichetta della voce di menu . Salva e chiudi il file.
    3. [OPZIONALE DA QUI] Apri nuovamente WinSetupFromUSB . Noi eliminare il stantio Torna al menu principale (GRUB4DOS) voce di menu dal menu di Windows installatori. Seleziona lo strumento Bootice .
    4. Vai a Modifica BCD . Seleziona un altro file BCD e individua il <drive root>\boot\bcdfile sulla partizione di avvio: Bootice
    5. Premi la modalità Facile per modificare il file BCD (dati di configurazione di avvio): BCD NOTA: se hai solo 1 programma di installazione, verrà caricato subito dopo aver premuto la voce di menu a cui hai aggiunto syslinux.cfg senza mostrare alcun menu . Inoltre, potresti voler premere Imposta come predefinito su qualsiasi voce di menu che vuoi rendere predefinita . Fai clic su Chiudi ed esci dallo strumento Bootice . Esci anche da WinSetupFromUSB .
  6. [Pulizia (OPZIONALE)]

    1. Ora dobbiamo eliminare i file non aggiornati. Puoi saltare questa sezione se non ti interessa questo tipo di cose. Apri la partizione di avvio in Windows Explorer. Inoltre, apri la prima partizione sul tuo disco ( potrebbero essere la stessa cosa ).
    2. Per il funzionamento di questo disco sono necessari i seguenti file e cartelle ( se la cartella è elencata, è necessario preservare tutto il suo contenuto ):
      \boot
      \efi
      \multiboot
      \WINSETUP
      \bootmgr
      
    3. I seguenti file e cartelle possono essere eliminati in modo sicuro:
      .disk
      \default
      \grldr
      \menu.lst
      \plpbt.bin
      \shifthd.bat
      \usbdrive.tag
      
      Rimuovili a piacimento . Inoltre, Windows può creare le sue stupide informazioni sul volume del sistema : puoi rimuoverle anche se sei fortunato. Inoltre, questo è il punto in cui è possibile rinominare la partizione di avvio da MULTIBOOT con qualsiasi altro nome (preferisco semplicemente Boot ). Puoi farlo proprio come con qualsiasi cartella tramite Windows Explorer.
  7. [Nascondere la partizione di avvio (OPZIONALE)]

    1. Ora potresti voler nascondere la partizione di avvio per impedire l'alterazione accidentale di qualsiasi file su di essa. Ciò significa che non sarà visibile sulla maggior parte dei sistemi per impostazione predefinita quando si inserisce il disco, ma sarà comunque possibile avviarlo. Apri di nuovo WinSetupFromUSB .
    2. Apri lo strumento Bootice e seleziona la scheda Disco fisico se non è già selezionata. Scegli il tuo disco (attentamente) nel menu a discesa.
    3. Fare clic sul pulsante Gestione parti . Verrà visualizzato l'elenco delle partizioni.
    4. Trova la tua partizione nell'elenco e premi il pulsante Nascondi . Apparirà una finestra di conferma del successo . Il tutto sarà simile a questo: Nascondi questo tutto qui . La partizione non viene più montata automaticamente (non avrà una lettera di unità) sulla maggior parte dei sistemi e i file necessari per l'avvio dell'unità non verranno modificati accidentalmente .

Inoltre, preferisco mantenere il programma vmount ( [3] nella sezione SOFTWARE ) per poter montare rapidamente la partizione nascosta sotto Windows, se necessario.

È praticamente tutto, se noti un malinteso o un errore, sentiti libero di pubblicarlo qui. Inoltre, domande e feedback sono i benvenuti.

Titoli di coda:

Wonko , erwan.l , ilko , Steve - membri della comunità reboot.pro che mi hanno aiutato moltissimo in questa discussione . Questo è dove è finito il viaggio :)

Bob che inizialmente ha accennato al driver ImDisk in questa stanza .

Mario che ha studiato i file BCD, il loro scopo e i mezzi per modificarli in questa domanda originale . Questo è dove è iniziato il viaggio.

Ricky che ha corretto un errore di rientro.


Sarebbe bello se anche tu potessi copiare la tua soluzione qui.
Cristian Ciupitu,

Ben fatto. Guida dettagliata straordinaria.
Devian,
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.