Muszę utworzyć obraz dysku z dwoma pustymi systemami plików. Stworzyłem to za pomocą
dd if=/dev/zero of=./disk.img bs=1MiB count=1024
Następnie utworzyłem 2 partycje podstawowe przy użyciu fdisk disk.img
; jeden to FAT32, a drugi to EXT3. Teraz muszę sformatować obie partycje, aby utworzyć systemy plików do zamontowania jako -o loop devices
. Ale nie rozumiem, jak je sformatować? Nie mogę używać mkfs.vfat
na disk.img
. Więc jestem całkowicie zdezorientowany.
ROZWIĄZANIE: Dzięki odpowiedzi z @ pjc50 znalazłem bardzo proste rozwiązanie:
sudo aptitude install multipath-tools
sudo kpartx -a disk.img #it maps (mounts) found partitions to /dev/mapper/loop...
sudo mkfs.vfat -F 32 -n boot /dev/mapper/loop0p1
sudo mkfs.ext3 -L rootfs /dev/mapper/loop0p2
Wadą tego rozwiązania jest wymóg posiadania uprawnień administratora.
linux
partitioning
filesystems
ext3
loopback
psihodelia
źródło
źródło
Odpowiedzi:
Wygląda na to, że możesz użyć narzędzi kpartx: http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
źródło
Można to zrobić przez pierwszy montaż partycje do
/dev/loop?
korzystanialosetup
z-o
opcji, aby określić odpowiedni offset partycji. Przesunięcie można obliczyć na podstawie wynikufdisk -l disk.img
(start_sector * sector_size
).Na przykład:
Po zamontowaniu możesz następnie sformatować partycję, używając
mkfs.*
:Aby uzyskać więcej informacji i przykładów, zobacz następujące artykuły:
źródło
mkfs.vfat
. Zobacz pierwszy link, który podałem. Wspomniano również w artykule, że ostrzeżenie o dyskietce jest oczekiwane i można je zignorowaćWybrałbym narzędzia, które mam na myśli:
/dev/sda
dd
aby wyeksportować/dev/sda
do plikuZ wykształconym przypuszczeniem zajmie to około 15 minut.
źródło
Minimalne uruchamianie
sfdisk
+mke2fs
przykład bezsudo
W tym przykładzie utworzymy plik obrazu bez
sudo
lubsetsuid
z dwiema partycjami ext2, z których każda zawiera pliki z katalogu hosta.Następnie użyjemy
sudo losetup
tylko do zamontowania partycji w celu przetestowania, czy jądro Linux może je odczytać, jak wyjaśniono na stronie : /programming/1419489/how-to-mount-one-partition-from-an-image -plik-zawierający-wiele partycji / 39675265 # 39675265Aby uzyskać więcej informacji, zobacz:
sfdisk
: dotyczy tabeli partycji: Jak utworzyć i sformatować partycję za pomocą skryptu bash?mke2fs
: zajmuje się formatowaniem EXT partycji: Jak stworzyć obraz ext2 bez uprawnień administratora?Przykład:
Testowane na Ubuntu 18.04. GitHub w górę .
źródło