Preparare manualmente una chiavetta usb di installazione per debian – qualsiasi versione

Aggiornamento maggio 2018

Di seguito la procedura per preparare manualmente una chiavetta usb per installare una qualsiasi versione di debian  ubuntu per la quale sia disponibile un’immagine iso.

La procedura descritta utilizza la modalità hd-media che consente di avviare una distribuzione debian/ubuntu utilizzando i file dell’installatore e un file .iso. Questa modalità è stata pensata per avviare l’installar direttamente da harddisk.
Perchè funzioni, come anticipato, è necessaria la presenta a livello root di:

  • installer files
    • hd-media/vmlinuz
    • hd-media/initrd.gz
  • un file immagine .iso di debian/ubuntu.

La caratteristica del kernel  e dell’immagine del ramdisk iniziale di tipo hd_media è di  riuscire ad utilizzare l’immagine .iso per la gestione dell’installazione del sistema operativo.

Come prerequisito  installare i pacchetti per il boot dalla chiavetta usb. In questo caso il bootlader utilizzato è il comodo syslinux. Per collocare syslinux installare anche il pacchetto mtools. Per interventire sul master boot sector si installa anche il pacchetto mbr.  L’utilizzo di questi pacchetti necessità di grande attenzione. Devono infatti essere applicati al dispositivo corretto se applicati all’hard disk principale possono determinare l’impossibilità di riavviare il computer principale.

sudo apt install syslinux mtools mbr

Partizionare la penna usb con parted o fdisk. Attenzione quando si utilizzano i comandi per partizionare i dischi. I comandi vanno applicati al disco corretto.

Controllare i dispositivi presenti con parted -l

# parted -l 

...
Model: JetFlash Transcend 8GB (scsi)
Disk /dev/sdb: 7902MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
...                                                              

Avviare parted e creare una partizione primaria fat16 ( dimensione massima 4GB )

# parted /dev/sdb
...
(parted) mkpart
Partition type?  primary/extended? primary                                
File system type?  [ext2]? fat16                                          
Start? 1M                                                               
End? 4GB                                                                 

Formattare la partizione fat16 creata nello stick usb con mkfs

sudo mkfs -t vfat /dev/sdx1

Installare syslinux per consentire l’avvio della chiavetta usb

sudo syslinux -s /dev/sdx1

Per poter copiare i file nella chiavetta usb è necessario effettuare il mount della stessa.

Creare una directory temporanea in /tmp ed effettuare il mount

sudo mkdir -p /tmp/usbpen
sudo mount -t vfat /dev/sdx1 /mnt/usbpen

Scaricare i file di avvio hd-media per sistemi a 64 con

wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/vmlinuz

wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/initrd.gz

Scaricare la .iso xfce corrente con

wget /http://cdimage.debian.org/cdimage/release/current-live/amd64/iso-hybrid/debian-live-9.4.0-amd64-xfce.iso

Copiare nella penna usb  i file dell’installatore e il file .iso debian:

  • vmlinuz ( kernel )
  • initrd.gz ( immagine del ramdisk iniziale )
sudo cp vmlinuz /tmp/usbpen
sudo cp initrd.gz /tmp/usbpen

sudo cp debian-live-9.4.0-amd64-xfce.iso /tmp/usbpen

Installare l’MBR ( Mast Boot Record)

Se la chiavetta non si avvia  installare l’MBR.
Due possibilità utilizzare l’mbr da 440 bs presente in:

/usr/lib/syslinux/mbr.bin 
o
/usr/lib/SYSLINUX/mbr.bin

( attenzione al dispositivo,sbx, da selezionare)

sudo dd if=/usr/lib/SYSLINUX/mbr.bin of=/dev/sbx bs=440 count=1

o

syslinux -maf /dev/sdc1

o

sudo dd if=/usr/lib/SYSLINUX/mbr.bin of=/dev/sbx

oppure  con

install-mbr ( attenzione al dispositivo,sbx, da selezionare)

sudo install-mbr /dev/sdx

Testare la chiavetta di usb di boot com QEMU

Per provare la chiavetta USB si può far ricorso a QEMU.

Il comando da utilizzare  è :

qemu-system-x86_64 -hda /dev/sdb

oppure

kvm -hda /dev/sdx

QEMU può essere installato con

sudo apt-get install qemu-kvm

oppure 

sudo apt-get install qemu

 

Se l’MBR è stato installato con lìopzione install-mbr all’avvio potrebbe essere necessario premere il sequenza prima il tasto a e poi 1.

Il login potrebbe avere la seguente, un po’ criptica,  sequenza :

MBR FA:

premere il tasto a

Quindi appare la scritta

MBR 1234F:

Premere 

Dopo di che si avvia la l’installazione

 

Considerato che la chiavetta utilizzata è una 8GB è possibile creare un’ulteriore partizione con parted

 
(parted) mkpart
Partition type?  primary/extended? primary                                
File system type?  [ext2]? fat16                                          
Start? 4294                                                               
End? 7902                                                                 
Warning: You requested a partition from 4294MB to 7902MB (sectors 8386718..15433593).
The closest location we can manage is 4295MB to 7902MB (sectors 8388608..15433727).
Is this still acceptable to you?
Yes/No? Yes   

 

 

A questo punto è possibile smontare la chiavetta usb

sudo umount /mnt/usbpen

 

Risorse:

 

Annunci

Windows 2012R2 Gestione semplice dei dischi

Per gestire i dischi associati ad un server Windows 2012R2 si può utilizzare File and Storage Services in Server Manager:

File and Storage Services

File and Storage Services

Volumes Disks

Windows 2012 Volumes Disks

L’inizializzazione di un nuovo disco prevede come modalità di default il partizionamento GPT:

Windows 2012 Initialize Disk

Windows 2012 Initialize Disk

Per utilizzare il partizionamento MBR utilizzare la power shell con un comando del tipo:

Initialize-Disk -Number 2 -PartitionStyle MBR

Initialize-Disk Power Shell 

Una volta inizializzato il disco procedere con le impostazioni del Volume:

>  New Volume
>  Size  
>  Drive Letter or Folder
>  File System Setting  ( I file system disponibili sono NTFS e ReFs ) 

In > Confirmation è possibile vedere riepilogate le impostazioni e procedere con il [create]:

Disk new volume Comfirm selctions

Risorse:

Clonare una penna usb – Salvare una iso su usb

In linux esiste un utlie comando che può essere utilizzato per clonare partizioni, drive o penne usb o per installare iso su penna usb che si avvi al boot. Il comando dd, uno degli storici comandi unix, ha proprio la funzione di copiare dei dati in blocchi. Una particolaritaà di dd,  acronicmo di dataset definition,   è quella di utilizzare parametri nella forma parametro=valore . Con dd è possibile anche cancellare sicuramente un disco o una partizione e effettuare il reset del MBR.

Di seguito alcuni esempi:

Il comando base è

dd if=device-iso-sorgente of=iso-device-target

un utile opzione è bs (blocksize)  che deve essere un multiplo di 512  es  bs=4K b

Clonare e ripristinare una penna usb

Per duplicare/clonare una penna usb specificare  il device da clonare qualcosa del tipo /dev/sdx e il nome dell’immagine di destinaazione.

Elencare i device a disposizione con

fdisk -l
sudo dd if=/dev/sdg1   of=nome-img-sdg1.img

Per ripristinare la penna usb

sudo dd if=nome-img-sdg1.img   of=/dev/sdg1

oppure

cat nome-img-sdg1.img > /dev/sdg1

Copiare un CD/DVD

Per reealizzare una ISO del primo CD/DVD presente nle sistema in genere il device /dev/sr0 digitare:

sudo dd if=/dev/sr0 of=dvd-copia.iso

Realizzare una penna usb avviabile

Per realizzare una penna usb avviabile a partire da una iso live  si può usare un comando del tipo

sudo dd if=xubuntu-12.04.1-desktop-i386.iso of=/dev/sdh oflag=direct

non è necessario specificare il numero della partizione. Purtroppo questo approccio non funziona con tutte le distribuzioni ad esempio funziona con ubuntu 12.04 ma non funziona con ubuntu 11.04

Cancellazione sicura con dd

Cancellare sicura di un disco o una partizione scrivendo tutti zero.

dd if=/dev/zero of=/dev/sda bs=4

Controllare la presenza di dati su disco

Per controllare che un disco abbia dati registrati si può utilizzare il comando

dd if=/dev/sdg1

Reset MBR in Linux

Per effettuare il reset del MBR in linux è possible utilizzare il comando

dd if=/dev/zero of=/dev/hda bs=446 count=1

Attenzione. Diversi raccomandano di scrivere 0 nei primi 512 bytes del disco ma questo non è corretto limitare a 446. MBR reset

Allocare file

Allocare un file di 100 MB

dd if=/dev/zero of=dati bs=1024k count=20

Risorse:

MBR reset

L’operazione di Reset del Master Boot Sector (MBR) di un disco è un operazione delicata e rischiosa.
Pertanto agire solo se si è a conoscenza delle implicazioni.

Reset MBR in DOS

A:> FDISK /MBR

via Windows XP (setup disc / CD / DVD.)
# fixmbr
# exit

Reset MBR in Linux

dd if=/dev/zero of=/dev/hdX bs=446 count=1

Diversi raccomandano di scrivere 0 nei primi 512 bytes del disco ma questo è sbagliato. Basta cancellare i primi 446 byte perché negli altri byte dell’MBR è memorizzata la tavola delle partizioni:

Leggere MBR in linux

dd if=/dev/sdb bs=446 count=1 | hexdump -C

root@deb35b2:/usr/lib# dd if=/dev/sdb bs=446 count=1 | hexdump -C
1+0 records in
1+0 records out
446 bytes copied, 5.2661e-05 s, 8.5 MB/s

00000000  fc 31 c0 8e d0 31 e4 8e  d8 8e c0 be 00 7c bf 00  |.1...1.......|..|
00000010  06 b9 00 01 f3 a5 be ee  07 b0 08 ea 20 06 00 00  |............ ...|
00000020  80 3e b6 07 ff 75 04 88  16 b6 07 80 3c 00 74 04  |.>...u......<.t.|
00000030  08 06 b2 07 83 ee 10 d0  e8 73 f0 cd 1a 89 16 00  |.........s......|
00000040  08 e8 33 01 81 3e b4 07  ff ff 74 46 f6 06 b3 07  |..3..>....tF....|
00000050  80 74 06 b4 01 cd 16 75  39 f6 06 b3 07 40 74 07  |.t.....u9....@t.|
00000060  f6 06 17 04 0f 75 2b 31  c0 cd 1a 2b 16 00 08 2b  |.....u+1...+...+|
00000070  16 b4 07 72 d7 a0 b3 07  24 07 3c 07 75 0b be be  |...r....$.<.u...|
00000080  07 b0 00 b9 04 00 80 3c  00 75 66 fe c0 83 c6 10  |.......<.uf.....|
00000090  e2 f4 e8 e2 00 b4 0e be  a0 07 8a 0e b2 07 ac d0  |................|
000000a0  e9 73 02 cd 10 08 c9 75  f5 b0 3a cd 10 31 c0 cd  |.s.....u..:..1..|
000000b0  16 3c 00 74 f8 3c 0d 74  bc 3c 61 72 06 3c 7a 77  |.<.t.<.t.<ar.<zw|
000000c0  02 2c 20 88 c3 be a0 07  8a 0e b2 07 ac d0 e9 73  |., ............s|
000000d0  04 38 c3 74 06 08 c9 75  f3 eb d2 b8 0d 0e 31 db  |.8.t...u......1.|
000000e0  cd 10 8d 84 5f 00 3c 07  75 07 b0 1f a2 b2 07 eb  |...._.<.u.......|
000000f0  a1 e8 83 00 31 d2 b9 01  00 3c 04 74 11 73 f0 30  |....1....<.t.s.0|
00000100  e4 b1 04 d2 e0 be be 07  01 c6 8a 16 b6 07 bf 05  |................|
00000110  00 56 f6 c2 80 74 2b b4  41 bb aa 55 52 cd 13 5a  |.V...t+.A..UR..Z|
00000120  5e 56 72 1e 81 fb 55 aa  75 18 f6 c1 01 74 13 8b  |^Vr...U.u....t..|
00000130  44 08 8b 5c 0a be 90 07  89 44 08 89 5c 0a b4 42  |D..\.....D..\..B|
00000140  eb 0c 8a 74 01 8b 4c 02  b8 01 02 bb 00 7c 50 c6  |...t..L......|P.|
00000150  06 92 07 01 cd 13 58 5e  73 05 4f 75 b4 eb 90 81  |......X^s.Ou....|
00000160  3e fe 7d 55 aa 75 f6 31  db b8 0d 0e cd 10 b0 0a  |>.}U.u.1........|
00000170  cd 10 ea 00 7c 00 00 50  b8 0d 0e 31 db cd 10 be  |....|..P...1....|
00000180  8c 07 b9 04 00 ac cd 10  e2 fb 58 c3 4d 42 52 20  |..........X.MBR |
00000190  10 00 01 00 00 7c 00 00  00 00 00 00 00 00 00 00  |.....|..........|
000001a0  31 32 33 34 46 00 00 41  4e 44 54 6d 62 72 00 02  |1234F..ANDTmbr..|
000001b0  00 02 90 c7 12 00 80 00  00 00 00 00 a8 01        |..............|
000001be

Installando syslinux da MultiBootUSB  l’MBR cambia
MultibootUSB-InstallSysLinux

 
root@deb35b2:/usr/lib# dd if=/dev/sdb bs=446 count=1 | hexdump -C
1+0 records in
1+0 records out
00000000  33 c0 fa 8e d8 8e d0 bc  00 7c 89 e6 06 57 8e c0  |3........|...W..|
446 bytes copied, 6.1252e-05 s, 7.3 MB/s
00000010  fb fc bf 00 06 b9 00 01  f3 a5 ea 1f 06 00 00 52  |...............R|
00000020  52 b4 41 bb aa 55 31 c9  30 f6 f9 cd 13 72 13 81  |R.A..U1.0....r..|
00000030  fb 55 aa 75 0d d1 e9 73  09 66 c7 06 8d 06 b4 42  |.U.u...s.f.....B|
00000040  eb 15 5a b4 08 cd 13 83  e1 3f 51 0f b6 c6 40 f7  |..Z......?Q...@.|
00000050  e1 52 50 66 31 c0 66 99  e8 66 00 e8 35 01 4d 69  |.RPf1.f..f..5.Mi|
00000060  73 73 69 6e 67 20 6f 70  65 72 61 74 69 6e 67 20  |ssing operating |
00000070  73 79 73 74 65 6d 2e 0d  0a 66 60 66 31 d2 bb 00  |system...f`f1...|
00000080  7c 66 52 66 50 06 53 6a  01 6a 10 89 e6 66 f7 36  ||fRfP.Sj.j...f.6|
00000090  f4 7b c0 e4 06 88 e1 88  c5 92 f6 36 f8 7b 88 c6  |.{.........6.{..|
000000a0  08 e1 41 b8 01 02 8a 16  fa 7b cd 13 8d 64 10 66  |..A......{...d.f|
000000b0  61 c3 e8 c4 ff be be 7d  bf be 07 b9 20 00 f3 a5  |a......}.... ...|
000000c0  c3 66 60 89 e5 bb be 07  b9 04 00 31 c0 53 51 f6  |.f`........1.SQ.|
000000d0  07 80 74 03 40 89 de 83  c3 10 e2 f3 48 74 5b 79  |..t.@.......Ht[y|
000000e0  39 59 5b 8a 47 04 3c 0f  74 06 24 7f 3c 05 75 22  |9Y[.G.<.t.$.<.u"| 000000f0  66 8b 47 08 66 8b 56 14  66 01 d0 66 21 d2 75 03  |f.G.f.V.f..f!.u.| 00000100  66 89 c2 e8 ac ff 72 03  e8 b6 ff 66 8b 46 1c e8  |f.....r....f.F..| 00000110  a0 ff 83 c3 10 e2 cc 66  61 c3 e8 76 00 4d 75 6c  |.......fa..v.Mul|  00000120  74 69 70 6c 65 20 61 63  74 69 76 65 20 70 61 72  |tiple active par| 00000130  74 69 74 69 6f 6e 73 2e  0d 0a 66 8b 44 08 66 03  |titions...f.D.f.| 00000140  46 1c 66 89 44 08 e8 30  ff 72 27 66 81 3e 00 7c  |F.f.D..0.r'f.>.||
00000150  58 46 53 42 75 09 66 83  c0 04 e8 1c ff 72 13 81  |XFSBu.f......r..|
00000160  3e fe 7d 55 aa 0f 85 f2  fe bc fa 7b 5a 5f 07 fa  |>.}U.......{Z_..|
00000170  ff e4 e8 1e 00 4f 70 65  72 61 74 69 6e 67 20 73  |.....Operating s|
00000180  79 73 74 65 6d 20 6c 6f  61 64 20 65 72 72 6f 72  |ystem load error|
00000190  2e 0d 0a 5e ac b4 0e 8a  3e 62 04 b3 07 cd 10 3c  |...^....>b.....<|
000001a0  0a 75 f1 cd 18 f4 eb fd  00 00 00 00 00 00 00 00  |.u..............|
000001b0  00 00 00 00 00 00 00 00  00 00 00 00 a8 01        |..............|
000001be

...
...


perchè installa l’ MBR da 440 bs che si trova in /usr/lib/SYSLINUX/mbr.bin

dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdX

o

dd if=/usr/lib/SYSLINUX/mbr.bin of=/dev/sdX bs=440 count=1