Osobiście wolę dodawać za pomocą dd
.
Zakładam sektory 512-bajtowe tutaj. Sytuacja może dotyczyć sektorów o długości 2048 bajtów, więc po prostu zamień liczby i wykonaj obliczenia matematyczne.
W każdym przypadku używam na przykład pliku testowego 512 MB:
dd if=/dev/zero of=testfs.img bs=512 count=1M
mkfs.ext4 testfs.img
MBR
Komponowanie obrazu
Osobiście wolę dołączyć pierwszy MB (2048 sektorów) na jego początku:
dd if=testfs.img skip=2048 bs=512 of=full.img
Na koniec uruchom fdisk, aby utworzyć tablicę partycji (lub skopiuj własną), utworzyłem 1 partycję przy użyciu wartości domyślnych.
Weryfikacja
Aby to sprawdzić, utwórz partycje pętli i automatycznie wykryj:
sudo losetup -fP full.img
I uruchom file
na wynikowym partycjonowanym sprzężeniu zwrotnym:
sudo file -s /dev/loop2p1
/dev/loop2p1: Linux rev 1.0 ext4 filesystem data, UUID=ae2945fd-54b5-486f-8dd0-9b18d6ae01b4 (extents) (large files) (huge files)
GPT
Komponowanie obrazu
Ja osobiście wolę dołączyć pierwszy MB (2048 sektorów, ponieważ gdisk ustawi domyślnie na tę liczbę, ponieważ jest wyrównany 1 MB) na początku na początku MBR i 34 sektory na końcu (lub 2048 na pełny MB) na końcu GPT (sektor końcowy może być inny). Pominięcie końca GPT może spowodować utratę danych:
dd if=testfs.img skip=2048 bs=512 of=full.img
dd if=/dev/zero seek=1050624 bs=512 of=full.img count=34
Na koniec uruchom gdisk, aby utworzyć tablicę partycji (lub skopiuj własną), utworzyłem 1 partycję przy użyciu wartości domyślnych.
Weryfikacja
Aby to sprawdzić, utwórz partycje pętli i automatycznie wykryj:
sudo losetup -fP full.img
I uruchom file
na wynikowym partycjonowanym sprzężeniu zwrotnym:
sudo file -s /dev/loop2p1
/dev/loop2p1: Linux rev 1.0 ext4 filesystem data, UUID=ae2945fd-54b5-486f-8dd0-9b18d6ae01b4 (extents) (large files) (huge files)
Ta metoda zapewnia brak zgadywania, zmiany rozmiaru lub ręcznego wyrównywania.