로컬 디스크에 액세스할 수 없습니다. 링크가 존재하지 않습니다.

로컬 디스크에 액세스할 수 없습니다. 링크가 존재하지 않습니다.

더 이상 GUI로 부팅되지 않는 노트북에 설치된 Ubuntu 17을 복구하기 위해 USB 드라이브에 Ubuntu 17 ISO를 사용하고 있습니다. 로컬 디스크에서 파일을 가져오는 방법이 궁금했는데 액세스할 수 없는 것 같습니다.

이 파일에 어떻게 액세스할 수 있나요?

lrwxrwxrwx 1 1000 1000   56 Nov 29 19:34 Access-Your-Private-Data.desktop -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.desktop
lrwxrwxrwx 1 1000 1000   52 Nov 29 19:34 README.txt -> /usr/share/ecryptfs-utils/ecryptfs-mount-private.txt
root@ubuntu:/media/ubuntu/7c8304ee-16af-4d22-8f48-b291de9e1c43/home/olduser# 

root@ubuntu:/media/ubuntu/7c8304ee-16af-4d22-8f48-b291de9e1c43/home/olduser# ls -la /usr/share/encryptfs-utils/encryptfs-mount-private.desktop
ls: cannot access '/usr/share/encryptfs-utils/encryptfs-mount-private.desktop': No such file or directory
root@ubuntu:/media/ubuntu/7c8304ee-16af-4d22-8f48-b291de9e1c43/home/olduser# ls -la ../../usr/share/encryptfs-utils/encryptfs-mount-private.desktop
ls: cannot access '../../usr/share/encryptfs-utils/encryptfs-mount-private.desktop': No such file or directory

나는 이것을 볼 수 cat README.txt있고 이것을 본다:

귀하의 데이터를 보호하기 위해 이 디렉토리가 마운트 해제되었습니다.

그래픽 데스크탑에서 "개인 데이터 액세스"를 클릭하십시오.

또는

명령줄에서 다음을 실행합니다: ecryptfs-mount-private

encryptfs-mount-private불행하게도 GUI에서 파일을 클릭하면 아무 일도 일어나지 않습니다. 이는 USB 드라이브나 마운트된 이전 드라이브에 존재하지 않기 때문인 것 같습니다 .

encryptfs-mount-private 또는 encryptfs-utils 설치를 시도했지만 주사위가 없습니다.

E: Unable to locate package encryptfs-utils
E: Unable to locate package encryptfs-mount-private

또한, locate, which및 는 또는 whereis이름의 파일을 찾지 않습니다 .encryptfsecryptfs-mount-private.desktop

cat이 파일은 어디에 있으며 해당 파일이 있는 디렉토리가 존재하지 않는 경우 해당 파일 의 내용을 출력할 수 있는 방법은 무엇입니까 ?

답변1

Symlink는 일반 텍스트로 가리키는 절대 또는 상대 경로를 포함하는 텍스트 파일과 같습니다. 따라서 에 마운트되었던 파티션이 /현재 에 마운트되어 있으므로 /media/ubuntu/YOUR_UUID_HERE절대 심볼릭 링크가 끊어지는 것은 당연합니다.

링크가 다시 작동하도록 디스크 파티션으로 chroot하는 것이 좋습니다. Chrooting은 루트 디렉터리를 원하는 디렉터리로 변경하므로 DVD에서 부팅한 후 디스크의 시스템에서 실행되는 것처럼 동작하는 터미널을 얻을 수 있습니다.

라이브 DVD에서 다음 명령을 실행하여 chroot 환경을 준비하고 입력하십시오.

  1. 하드 디스크 Ubuntu 파티션을 /mnt. 두 번 마운트할 수 없으므로 먼저 파일 관리자에서 마운트 해제해야 할 수도 있습니다. /dev/sdXY파티션의 실제 식별자(예: )로 바꾸십시오 /dev/sda1. 명령 을 사용하여 lsblk그것이 어느 것인지 식별하십시오.

    sudo mount /dev/sdXY /mnt
    
  2. 라이브 시스템의 가상 시스템 폴더를 대상 폴더의 해당 위치에 바인딩합니다.

    for d in /dev /dev/pts /sys /proc ; do sudo mount --bind $d /mnt$d ; done
    
  3. 일부 데이터를 복구하고 싶다고 하셨으니 해당 항목을 복사할 외부 저장소가 있는 것 같습니다. 저장소가 에 있다고 가정하고 /media/ubuntu/my-backup-disk해당 경로로 바꾸십시오. chroot 환경에서 액세스할 수 있어야 하므로 대상 디렉터리 내부에도 바인딩합니다.

    sudo mkdir /mnt/storage
    sudo mount --bind /media/ubuntu/my-backup-disk /mnt/storage
    
  4. 환경에 들어가세요.

    sudo chroot /mnt
    
    • 이제 루트 셸에 있으며 루트 디렉터리는 외부 라이브 세션에 /있었던 디렉터리가 됩니다 . /mnt이는 하드 디스크 설치에서 부팅된 루트 셸처럼 작동해야 합니다.

    • 설치에서와 마찬가지로 암호화된 집을 잠금 해제하려면 다음을 사용하세요.

      ecryptfs-mount-private
      
    • 중요한 파일을 홈 디렉터리나 우리가 바인딩한 백업 디스크 ( chroot 외부에 /storage있음 )에 복사하세요. /mnt/storage예를 들어 아래와 같을 수 있습니다. 적절한 경로로 바꾸세요.

      cp -R /home/bee/Documents /storage/Documents
      
    • 완료되면 루트 쉘을 종료하여 chroot된 환경을 다시 떠날 수 있습니다.

      exit
      
  5. 라이브 시스템의 일반 쉘로 돌아왔습니다.

  6. 디스크 설치 파티션을 다시 마운트 해제합니다.

    sudo umount -R /mnt
    
  7. 여기서는 끝난 것 같아요. 터미널을 닫고 라이브 시스템을 종료하거나 원하는 다른 작업을 수행할 수 있습니다.

관련 정보