Disk-Image

losttup 將磁碟映像安裝為一個設備。如何分別環回分區?

  • June 15, 2021

我有一個帶有 2 個分區的磁碟映像。當我做#losetup -f <file>/dev/loop0出現。我如何製作/dev/loop0p0/dev/loop0p1出現?使用#parted /dev/loop0它確實顯示存在 2 個分區。我需要將 2 個分區作為單獨的設備 chroot 到主分區並在 esp 分區上設置 grub。

# sudo losetup -f disk.img 

拿到:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     5G  0 loop 
sda      8:0    0 223,6G  0 disk 
├─sda1   8:1    0   300M  0 part /boot/efi
├─sda2   8:2    0 214,5G  0 part /
└─sda3   8:3    0   8,8G  0 part [SWAP]

預期的:

loop0
├─loop0p0
└─loop1p1

Parted 顯示分區確實存在:

# parted
[ ... ]
(parted) print list,all
Model: Loopback device (loopback)
Disk /dev/loop0: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
1      1049kB  135MB   134MB   fat32        efi   boot, esp
2      135MB   5368MB  5232MB  ext4         main

[ ... ]

-P開關添加到 losttup,如下所示:

losetup -Pf disk.img

這將為每個分區創建循環設備,例如/dev/loop8p3. 請注意,分區掃描取決於扇區大小,預設情況下假定為 512。如果圖像是由具有不同扇區大小的東西製成的,那麼您還需要指定--sector-size開關。

引用自:https://serverfault.com/questions/1066744