img
Plik utworzyłem za pomocą następującego polecenia:
dd if=/dev/zero bs=2M count=200 > binary.img
To tylko plik z zerami, ale mogę go użyć fdisk
i utworzyć tablicę partycji:
# fdisk binary.img
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x51707f21.
Command (m for help): p
Disk binary.img: 400 MiB, 419430400 bytes, 819200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x51707f21
i, powiedzmy, jedna partycja:
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-819199, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-819199, default 819199):
Created a new partition 1 of type 'Linux' and of size 399 MiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
Kiedy sprawdzam tablicę partycji, otrzymuję następujący wynik:
Command (m for help): p
Disk binary.img: 400 MiB, 419430400 bytes, 819200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7f3a8a6a
Device Boot Start End Sectors Size Id Type
binary.img1 2048 819199 817152 399M 83 Linux
Więc partycja istnieje. Kiedy próbuję sformatować tę partycję za pomocą gparted, pojawia się następujący błąd:
Nie wiem, dlaczego tak się dzieje binary.img1
, i nie mam pojęcia, jak sformatować partycję za pomocą komendy live.
Czy ktoś wie, jak go sformatować przy użyciu systemu plików ext4?
filesystems
partition
disk-image
Michaił Morfikow
źródło
źródło
Couldn't find valid filesystem superblock.
. Oto zdjęcie: i.imgur.com/dl7XAC4.png. Czy to jakiś błąd?Odpowiedzi:
Możesz uzyskać dostęp do obrazu dysku i jego poszczególnych partycji za pomocą funkcji sprzężenia zwrotnego. Odkryłeś już, że niektóre narzędzia dyskowe będą działać (rozsądnie) na obrazach dysków. Jednak
mkfs
nie jest jednym z nich (ale dziwniemount
jest).Oto dane wyjściowe z
fdisk -lu binary.img
:Aby uzyskać dostęp do utworzonej partycji, masz kilka możliwości
Wyraźna trasa
Dane wyjściowe
/dev/loop0
to nazwa przydzielonego urządzenia pętli. Ten--offset
parametr to po prostu offset partycji (Start
) pomnożony przez rozmiar sektora (512
). Natomiast--sizelimit
rozmiar partycji można obliczyć w następujący sposób: End-Start + 1, czyli 819199-2048 + 1 = 817152, a liczbę tę należy również pomnożyć przez rozmiar sektora.Następnie możesz użyć
/dev/loop0
jako odniesienia do partycji:Implikowana droga
Dane wyjściowe
/dev/loop0
to nazwa pierwotnego urządzenia pętli, które zostało przydzielone. Ponadto--partscan
opcja informuje jądro, aby skanowało urządzenie w poszukiwaniu tablicy partycji i automatycznie przypisywało urządzenia pomocnicze. W twoim przypadku z jedną partycją, którą również otrzymujesz/dev/loop0p1
, której możesz następnie użyć jako odniesienia do partycji:źródło
fdisk
wyniku.Jest inny sposób, aby to zrobić ogólnie: użyj
kpartx
( nie dotyczy KDE)a teraz powinieneś mieć wszystkie urządzenia partycji zdefiniowane
/dev/mapper
jako loop0p1 , loop0p2 , ...i wtedy
Opcjonalnie, kiedy skończysz, możesz także biegać
pozbyć się pętli? dzielić
źródło
(… A później za
binary.img2
pochowany w komentarzu.)Jest tak, ponieważ narzędzia oczekują, że nazwy plików będą zgodne z określonym wzorcem. Ten wzorzec jest używany przez pliki urządzeń dla rzeczywistych płyt i woluminów płyt w twoim systemie, a mianowicie:
sda
(lub coś innego). Właśnie tegofdisk
oczekuje.sda1
,sda2
,sda3
, i tak dalej. Tego właśniegparted
używają narzędzia, które oczekują, że będąmkfs
robić rzeczy na poszczególnych woluminach płyt .Oczywiście zwykłe pliki nie nakładają się na siebie tak, jak robią to pliki urządzeń dyskowych. Rozmowy z udziałem plików loopback, że widzieliście to wszystko o zrobieniu pojedynczego pliku obrazu całego dysku i za pomocą sprzężenia zwrotnego do tworzenia
1
,2
,3
, i tak dalej pliki, które odzwierciedlają poszczególne plastry wewnątrz niego, gdy pożądany układ partycji został napisany do tabeli partycji.źródło
Chociaż ten temat nie jest bezpośrednio powiązany, wymienia wiele takich samych i powiązanych informacji.
Debian wiki | Raspberry Pi i qemu-user-static
Jeśli nie możesz użyć
apt
do zainstalowania niektórych poleceń wymienionych w tym poście, spróbuj użyćapt-cache search [package_name]
. Może to nie przynieść żadnych wyników, jeśli polecenie pochodzi z pakietu o innej nazwie.Na przykład
losetup
może być wcześniej zainstalowany jakolosetup
korzystającyapt install losetup
, ale teraz jest częściąutil-linux
repozytorium Ubuntu. Aby dowiedzieć się, który pakiet działa jako kontener dla innego pakietu, musisz skorzystać z wyszukiwania repozytorium online dla swojej dystrybucji Linux. Lub, jeśli musisz zainstalować go z innego źródła, użyj wyszukiwarki internetowej.Niektóre pakiety warte sprawdzenia ...
util-linux genisoimage dosfstools squashfs-tools fsarchiver xfsprogs reiserfsprogs reiser4progs jfsutils ntfsprogs btrfs-tools
Każda dystrybucja Linuksa ma także własne strony internetowe. Czasami łatwiej jest korzystać ze stron podręcznika niż samouczka. Strony podręcznika zawierają również informacje o wszystkich opcjach i parametrach poleceń. Samouczek zwykle koncentruje się tylko na tych, które są używane.
ź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, aby przetestować, 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: /superuser/332252/how-to-create-and-format-a-partition-using-a-bash-script/1132834#1132834mke2fs
: zajmuje się formatowaniem EXT partycji: /superuser/605196/how-to-create-ext2-image-without-superuser-rights/1366762#1366762Przykład:
Testowane na Ubuntu 18.04. GitHub w górę .
Pomocnik w zawijaniu istniejącego surowego pliku systemu plików do obrazu
Wyodrębnione z powyższego, przydatne mogą być:
GitHub w górę .
źródło