Atat Bios cat si UEFI acceseaza stick-ul cu geometrie diferita in functie de implementarea producatorului placii de baza.
Pentru compatibilitatea cu USB-HDD se va partitiona CHS specific hdd-urilor cu 255 capete si 63 sectoare.
Prima partitie va avea maxim 1024 cilindri asfel se asigura functionarea corecta in CHS pentru Bios-urile ce sunt limitate la LBA.
Astfel partitia maxima se va termina la sectorul 1024*255*63-1=16450559 dar trebuie sa inceapa la sectorul 63, primile sectoare sunt pentru MBR si loader.
Capacitatea maxima va fi (16450559-63)*512B=8422654464B/1024=8225248,5kiB/1024=8032,469238281MiB~=8032,47MiB.
O partitie peste aceasta capacitate va avea ultimul cilindru peste 1024 iar daca bios-ul nu poate face translatie la LBA vor fi fisiere inaccesibile desi ele exista.
Sunt Bios-uri vechi ce nu identifica stick-ul ca USB-HDD daca prima partitie nu incepe de la sectorul 63 (CHS 0,1,0) desi au mbr si geometrie corecte.
Pentru linux cu de la Syslinux sau cu (la versiunea 2.37.2 inca poate fi folosit modul CHS)
Pentru windows cu sau , ambele au si versiuni portabile
Partitionare cu mkdiskimage
Dintr-un terminat cu drept de root se identifica stick-ul USB cu cu lsblk
#lsblk -S|grep usb
sdc 4:0:0:0 disk USB DISK 3.0 PMAP 070128FD0775E894 usb
in cazul meu usb-ul e sdc
daca nu exista se creaza directoarele de lucru in /opt sa ramana ulterior, trebuie drept de root!
# if [ ! -d /opt/hbcd152 ]; then mkdir /opt/hbcd152; fi
# cd /opt/hbcd152
se descarca si dezarhiveaza syslinux406.zip ce contine mkdiskimage, pentru detalii vezi cum au fost obtinute fisierele
# if [ ! -f /opt/hbcd152/syslinux406.zip ]; then wget -O syslinux406.zip https://pagini.elt.ro/utile/get_file.php?name=syslinux406.zip; fi
# unzip syslinux406.zip -d syslinux406
# cd /opt/hbcd152/syslinux406
pentru partita maxima de 8,42 GB va dura cam 20 min. depinde de USB 2 sau 3
Atentie!!! aceasta comanda va sterge partitiile si datele din zona ocupata (0-8,42GB), mare grija la dev sa nu stergeti un disc gresit
# ./mkdiskimage -o -F /dev/sdc 1024 255 63
pentru o partitie mai mica se micsoreaza cilindrii dar se pastreaza captele si sectoarele
desi partitia e formatata o verificare cu dosfsck -a -n -v /dev/sdc1 va da eroarea "Seek to 7741439488:Invalid argument"
se formateaza FAT32 cu geometrie si label, daca nu e specificata geometria ea va fi preluata din SO si se pierde 255/63
# mkfs.fat -g 255/63 -F 32 -n HBCD152 /dev/sdc1
folosind parted se creaza si partitia a doua de ntfs
se identifica startul si sfarsitul spatiului liber
# parted /dev/sdc u MB p free| grep Free
8423MB 62026MB 53604MB Free Space
daca se doreste partitie separata pentru KRD18 se scade cel putin 700MB din sfarsit, eu voi lasa 1GB
# parted -a cylinder /dev/sdc mkpart primary ntfs 8423MB 61026MB
se creaza si partitia KRD
# parted -a cylinder /dev/sdc mkpart primary fat32 61026MB 100%
respectiv, fara partitie KRD
# parted -a cylinder /dev/sdc mkpart primary ntfs 8423MB 62026MB
sau
# parted -a cylinder /dev/sdc mkpart primary ntfs 8423MB 100%