다른 컴퓨터에서 Linux 데이터에 물리적으로 액세스하는 방법은 무엇입니까?

다른 컴퓨터에서 Linux 데이터에 물리적으로 액세스하는 방법은 무엇입니까?

내 노트북이 제대로 작동하지 않지만 하드 드라이브는 괜찮다고 확신합니다.

데이터를 가져오고 싶습니다. 노트북의 하드 드라이브(btrfs 파일 시스템을 사용하여 suse tumbleweed 열기)를 데스크톱 컴퓨터(vfat 파일 시스템을 사용하는 ubuntu 22.04.01 LTS)에 연결했으며 일부 Linux 시스템 디렉터리를 표시할 수 있는 액세스 권한이 있습니다. 하드 드라이브가 그 안에 있지만(bin, boot, cdrom, dev 등, home 및 나머지) 디렉토리를 찾아보면 거기에 아무것도 없습니다.

이 데이터에 어떻게 접근할 수 있나요? 나는 사용자 이름과 비밀번호, 그리고 루트의 비밀번호를 알고 있습니다.

나에겐 배짱이 있고, 이건 일종의 라이선스 같은 것이어야 하고, 나에게도 배짱이 있다. 이것은 사람들이 Live CD로 데이터를 저장하는 것에 대해 이야기하는 것과 같아야 하는데, 네, 데이터에 액세스하는 방법을 모르겠습니다.

이건 내 lsblk야

~ $ sudo lsblk -o +fstype | grep -v /snap/
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS                                    FSTYPE
sda      8:0    0 223,6G  0 disk                                                
├─sda1   8:1    0   512M  0 part /boot/efi                                      vfat
                                 /                                              
sdb      8:16   0 149,1G  0 disk                                                
└─sdb1   8:17   0   149G  0 part                                                crypto_LUKS
sdc      8:32   0 465,8G  0 disk                                                
└─sdc1   8:33   0 465,8G  0 part                                                crypto_LUKS
sdd      8:48   0 298,1G  0 disk                                                
├─sdd1   8:49   0   512M  0 part                                                vfat
├─sdd2   8:50   0 295,6G  0 part /media/bc/a501872f-9564-4568-a942-8b913bb93166 btrfs
└─sdd3   8:51   0     2G  0 part 

내 개방형 수세 텀블위드 노트북 하드 드라이브는 sdd입니다. 추가 정보: sdb와 sdc는 다른 물리적 하드 드라이브인 내 데이터 하드 드라이브입니다.

채팅 업데이트: 대상 파일 시스템은 btfrs이고 /etc/fstab의 이전 줄은 다음과 같습니다.

UUID=a501872f-9564-4568-a942-8b913bb93166 / btrfs defaults 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /home btrfs subvol=/@/home 0 0

필요한 것은 마스터 하위 볼륨을 마운트하는 명령줄입니다.

답변1

이는 /etc/fstab/dev/sdd2(채팅에서)에서 복원됩니다.

UUID=a501872f-9564-4568-a942-8b913bb93166 / btrfs defaults 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /var btrfs subvol=/@/var 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /usr/local btrfs subvol=/@/usr/local 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /srv btrfs subvol=/@/srv 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /root btrfs subvol=/@/root 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /opt btrfs subvol=/@/opt 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /home btrfs subvol=/@/home 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0
UUID=a501872f-9564-4568-a942-8b913bb93166 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc 0 0
UUID=DDC0-DAF7 /boot/efi vfat utf8 0 2
UUID=a501872f-9564-4568-a942-8b913bb93166 /.snapshots btrfs subvol=/@/.snapshots 0 0 

시스템이 다음을 사용하도록 설정되었습니다.Btrfs 하위 볼륨. 이는 최신 OpenSuSE의 일반적인 구성입니다.

/dev/sdd2의 기본 볼륨이 btrfs이미 마운트되었으므로 다음 /media/bc/a501872f-9564-4568-a942-8b913bb93166을 사용하여 "누락된" 부분을 마운트할 수 있습니다.

export MOUNTPATH=/media/bc/a501872f-9564-4568-a942-8b913bb93166
sudo mount -o subvol=/@/var /dev/sdd2 $MOUNTPATH/var
sudo mount -o subvol=/@/usr/local /dev/sdd2 $MOUNTPATH/usr/local
sudo mount -o subvol=/@/srv /dev/sdd2 $MOUNTPATH/srv
sudo mount -o subvol=/@/root /dev/sdd2 $MOUNTPATH/root
sudo mount -o subvol=/@/opt /dev/sdd2 $MOUNTPATH/opt
sudo mount -o subvol=/@/home /dev/sdd2 $MOUNTPATH/home

위의 내용은 귀하의 사례를 복구 사례로 /etc/fstab간단히 번역한 것 입니다. 여기 $MOUNTPATH에는 입력을 줄이고 줄을 더 쉽게 읽고 이해할 수 있도록 정의된 변수가 포함되어 있습니다.

subvolumes 에서 btrfs하위 볼륨은 LVM 논리 볼륨과 약간 비슷합니다. 모두 동일한 물리적 공간을 공유하므로 여러 파일 시스템을 사용할 때 흔히 발생하는 "사용 가능한 공간이 잘못된 파일 시스템에 있습니다"라는 문제가 발생하지 않습니다. 설정, LVM 없음 및 완벽한 사전 계획이 아닙니다.

여기서 하위 볼륨은 별도의 파일 시스템처럼 마운트되어야 합니다. 왜냐하면 이것이 SuSE가 기본적으로 설정되는 방식이기 때문입니다. 파일 시스템이 하위 볼륨을 처리하여 "기본" 볼륨(즉,기본 하위 볼륨).

btrfs파일 시스템을 마운트할 때 subvol=마운트 옵션을 지정하지 않으면 파일 시스템 드라이버는 사용자가 기본 하위 볼륨을 참조한다고 가정합니다. 파일 시스템이 별도로 구성되지 않는 한 기본 하위 볼륨은 입니다 subvol=/.

/etc/fstab루트 파일 시스템( btrfs이 경우 = 메인 볼륨) 에서 파일을 가져올 수 없는 경우 sudo btrfs subvolume list -a <mountpoint of the btrfs filesystem>.

관련 정보