GNU/Linux >> Linux Esercitazione >  >> Debian

Come avviare il file ISO di Debian dal disco rigido con GRUB2

Questo tutorial ti mostrerà come avviare il file ISO Debian direttamente dal disco rigido con il boot loader GRUB2 in modo da non dover creare un CD live o una USB live. Al giorno d'oggi è semplicissimo creare una live USB Linux, puoi farlo con uno strumento grafico o dalla riga di comando. Ma cosa succede se non si dispone di un'unità flash USB in giro o si desidera installare Debian sull'unità flash USB?

GRUB in soccorso

Il boot loader GRUB2 è in grado di avviare il file immagine ISO di Linux direttamente dal tuo disco rigido.

  • GRUB2 supporta molti file system, inclusi ma non limitati a ext4, HFS+ e NTFS, il che significa che puoi inserire il tuo file ISO su uno qualsiasi di questi file system.
  • GRUB 2 può leggere file direttamente da dispositivi LVM e RAID.
  • GRUB2 ha anche il supporto di rete. Puoi caricare immagini del sistema operativo da una rete utilizzando TFTP protocollo.

In questo tutorial parleremo solo dell'avvio del file ISO da un disco rigido locale. Per utilizzare questa funzione, devi avere una distribuzione Linux con GRUB2 come boot loader già installato sul tuo computer.

Come avviare il file ISO Debian direttamente dal disco rigido con GRUB2

Innanzitutto, avvia il tuo computer e avvia la tua distribuzione Linux esistente. Scarica Debian ISO. È possibile utilizzare l'ISO di netinstall o l'ISO del CD live. Devi anche scaricare hd-media/initrd.gz e hd-media/vmlinuz da questa pagina.

  • initrd.gz è il ramdisk iniziale.
  • vmlinuz è il kernel Linux.

Se desideri un programma di installazione grafico che ti consenta di utilizzare un mouse per fare clic, scarica hd-media/gtk/initrd.gz e hd-media/gtk/vmlinuz invece. Metti questi tre file nella stessa directory. Quindi, apri una finestra di terminale e modifica il /etc/grub.d/40_custom file con un editor di testo come nano.

sudo nano /etc/grub.d/40_custom

In questo file, possiamo aggiungere voci personalizzate al menu di avvio di GRUB. In questo caso, vogliamo aggiungere una voce per avviare un file ISO Debian. Quello che segue è un esempio.

menuentry "Debian.4 net-install.iso" {
        insmod ext2
        set root='(hd0,2)'
        linux /linuxbabe/vmlinuz
        initrd /linuxbabe/initrd.gz
}

Spiegazione:

  • voce di menu :questa voce verrà visualizzata nel menu di avvio di GRUB2. Puoi nominarlo come preferisci.
  • L'insmod comando inserisce un modulo. Poiché questi tre file sono archiviati nella mia partizione home, ext2 modulo è necessario. Se questi file si trovano su una partizione NTFS, è necessario insmod ntfs invece.
  • Il set comando imposta la seconda partizione del mio primo disco rigido come directory principale. (La mia partizione home è la seconda partizione del mio primo disco rigido.)
  • Il linux comando carica un kernel Linux dal percorso specificato. vmlinuz indica un eseguibile del kernel Linux compresso che supporta la memoria virtuale. La lettera 'z' indica che è compressa.
  • Il initrd comando carica un ramdisk iniziale dal percorso specificato. Può essere utilizzato solo dopo linux comando è stato eseguito. Il ramdisk iniziale è un file system radice minimo montato sulla RAM.

Nota che GRUB non distinguere IDE da SCSI. In Linux, /dev/hda si riferisce al primo disco rigido IDE e a /dev/sda si riferisce al primo disco rigido SCSI o SATA. Se utilizzi un SSD NMVe, potrebbe essere denominato /dev/nvme0n1 , /dev/nvme1n1 e così via. Ma in GRUB, il primo disco rigido viene sempre chiamato hd0 , indipendentemente dal tipo di interfaccia. Nota inoltre che i numeri di partizione in GRUB iniziano da 1, non da 0.

Per controllare il numero della tua partizione, puoi eseguire lsblk o sudo parted -l comando nella finestra del terminale. Puoi anche vederlo nell'editor di partizioni Gparted, che può essere installato eseguendo il seguente comando.

sudo apt install gparted

Sul mio computer, vmlinuz ,initrd.gz e l'immagine ISO di Debian sono archiviate in/home/linuxbabe/ directory, ma ho una partizione home separata ed è impostata come root nel file di configurazione di GRUB, quindi il percorso dovrebbe iniziare con /linuxbabe , non /home/linuxbabe/ .

Salva e chiudi il file. Quindi aggiorna il menu di avvio di GRUB con il seguente comando:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Su Fedora, il comando da eseguire è:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Sulla distribuzione Linux basata su Debian, puoi utilizzare il seguente comando per aggiornare il menu di avvio di GRUB.

sudo update-grub

Puoi vedere dall'output che GRUB ha aggiunto una nuova voce di menu. (Le versioni più recenti di GRUB non mostrano questo messaggio.)

Ora riavvia il computer. Nel menu di avvio di GRUB, puoi vedere la voce di menu che hai appena aggiunto. Tieni presente che potresti dover premere il tasto Maiusc destro per visualizzare il menu di avvio di GRUB al riavvio del computer.

Selezionalo e premi Invio. Il kernel Linux (vmlinuz ) e il disco RAM iniziale (intird.gz ) verrà caricato in memoria. Quindi verrà caricato un componente aggiuntivo del programma di installazione dall'immagine ISO di Debian.

Evitare la trappola comune

Potresti aver utilizzato il seguente codice per avviare Ubuntu ISO dal disco rigido e ora provi a utilizzare la stessa sintassi per Debian ISO.

menuentry "ubuntu-16.04-desktop-amd64.iso" {
   set isofile="/home/username/Downloads/ubuntu-16.04-desktop-amd64.iso"
   loopback loop (hd0,1)/$isofile
   linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile quiet noeject nopromt spalsh --
   initrd (loop)/casper/initrd.lz
}

Non funzionerà. Se usi questa sintassi, riceverai il seguente errore dopo aver avviato l'ISO di Debian.

No common CD-ROM drive was detected.

o

No medium found containing a live file system.

Il motivo è che il metodo Ubuntu utilizza il kernel Linux e il ramdisk iniziale all'interno dell'immagine ISO, ma devi usare hd-media/vmlinuz e hd-media/initrd.gz per avviare il programma di installazione Debian dal disco rigido. L'immagine ISO di Debian è il CD-ROM/il supporto richiesto dall'installer di Debian.

Alcuni altri suggerimenti

Se i tre file si trovano nella directory di primo livello di una partizione del disco, non tralasciare la barra iniziale quando specifichi il percorso di vmlinuz e intird.gz . In altre parole, hai bisogno

linux /vmlinuz
initrd /initrd.gz

piuttosto che

linux vmlinuz
initrd initrd.gz

Se i tre file si trovano su una partizione estesa del disco MBR, il numero della partizione inizia da 5, invece di 1. Ad esempio, la prima partizione logica all'interno della partizione estesa sarà numerata come 5; la seconda partizione logica all'interno della partizione estesa sarà numerata come 6.

Se hai un disco SATA e un SSD NVMe all'interno del tuo computer, il disco SATA è il primo e l'SSD NVMe è il secondo. Lo stesso vale per un drive USB e un SSD NVMe.

Spero che questo tutorial ti abbia aiutato ad avviare l'immagine ISO Debian dal disco rigido utilizzando il caricatore di avvio GRUB2. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere altri suggerimenti e trucchi.


Debian
  1. Installa Debian Linux dalla memory stick di avvio USB

  2. Come crittografare la directory con EncFS su Debian 9 Stretch Linux

  3. Come eseguire l'avvio da un'unità USB in VirtualBox su Linux

  4. Come montare un file ISO in Linux?

  5. Come avviare da iso con il boot loader Grub2/Burg

Come installare Vai su Debian 10 Linux

Come montare file ISO su Linux

Come creare una ISO da un'unità USB avviabile in Linux

Come avviare dall'unità USB in Virtualbox in Linux

Come crittografare le partizioni Linux con VeraCrypt su Debian 10

Come installare facilmente Debian Linux