Sample Header Ad - 728x90

How to loop-mount Ubuntu boot drive backup LVM with duplicate UUID

1 vote
1 answer
176 views
I created a backup of my LUKS-encrypted Ubuntu installation's entire boot drive as a squashfs file. The backup was performed by using Streaming Compression into a pseudo file , resulting in a compressed file that contains an image of the entire drive.
`
mksquashfs empty-dir nvme_backup.img.squashfs -p 'nvme.img f 444 root root dd if=/dev/nvme0n1 bs=4M'
` lsblk
`
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sdj                             8:144  0 119.2G  0 disk
+-sdj1                          8:145  0 119.2G  0 part
nvme0n1                       259:0    0 223.6G  0 disk
+-nvme0n1p1                   259:1    0   487M  0 part  /boot
+-nvme0n1p2                   259:2    0     1K  0 part
+-nvme0n1p5                   259:3    0 118.8G  0 part
  +-sdb5_crypt                253:0    0 118.8G  0 crypt
    +-ubuntu--nvme--vg-root   253:1    0 110.8G  0 lvm   /
    +-ubuntu--nvme--vg-swap_1 253:2    0     8G  0 lvm
      +-cryptswap1            253:3    0     8G  0 crypt [SWAP]
`
`
sudo mount /dev/sdj1 /media/backup
sudo mount nvme_backup.img.squashfs /media/backup/mountpoint/ # mount the squashfs
cd mountpoint
sudo kpartx -va nvme.img # find the partitions and loop-mount them
`
`
add map loop1p1 (253:10): 0 997376 linear 7:1 2048
add map loop1p2 (253:11): 0 2 linear 7:1 1001470
add map loop1p5 (253:12): 0 249067520 linear 7:1 1001472
` lsblk
`
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
loop0                           7:0    0 111.4G  0 loop  /media/backup/mountpoint
loop1                           7:1    0 119.2G  1 loop
+-loop1p1                     253:10   0   487M  1 part
+-loop1p2                     253:11   0     1K  1 part
+-loop1p5                     253:12   0 118.8G  1 part
sdj                             8:144  0 119.2G  0 disk
+-sdj1                          8:145  0 119.2G  0 part  /media/backup
nvme0n1                       259:0    0 223.6G  0 disk
+-nvme0n1p1                   259:1    0   487M  0 part  /boot
+-nvme0n1p2                   259:2    0     1K  0 part
+-nvme0n1p5                   259:3    0 118.8G  0 part
  +-sdb5_crypt                253:0    0 118.8G  0 crypt
    +-ubuntu--nvme--vg-root   253:1    0 110.8G  0 lvm   /
    +-ubuntu--nvme--vg-swap_1 253:2    0     8G  0 lvm
      +-cryptswap1            253:3    0     8G  0 crypt [SWAP]
`
`
sudo cryptsetup luksOpen /dev/mapper/loop1p5 root
Enter passphrase for /dev/mapper/loop1p5:
` sudo lvscan
`
  WARNING: Not using device /dev/gpt-auto-root for PV xCIFJX-luFH-kOpr-9HvF-fz5E-PeTf-c8YZyo.
  WARNING: PV xCIFJX-luFH-kOpr-9HvF-fz5E-PeTf-c8YZyo prefers device /dev/mapper/sdb5_crypt because device is used by LV.
  ACTIVE            '/dev/ubuntu-nvme-vg/root' [110.75 GiB] inherit
  ACTIVE            '/dev/ubuntu-nvme-vg/swap_1' [<7.99 GiB] inherit
` lsblk -o name,mountpoint,size,type,ro,label,uuid | grep CIF
`
  +-root                                               118.8G crypt  1             xCIFJX-luFH-kOpr-9HvF-fz5E-PeTf-c8YZyo
  +-sdb5_crypt                                         118.8G crypt  0             xCIFJX-luFH-kOpr-9HvF-fz5E-PeTf-c8YZyo
` So I can't mount the LVM because the UUID of the /dev/mapper/sdb5_crypt and /dev/mapper/root PVs are the same, which makes sense because it is a clone. How can I mount the LVM to get files out of it, keeping in mind that it's all on a read-only loop mounted squashfs, so I can't just change the UUID or name?
Asked by localhost (327 rep)
Jun 29, 2023, 09:31 AM
Last activity: Jun 29, 2023, 11:14 AM