无法使用 LiveCD (LVM2、EXT2) 访问文件系统

无法使用 LiveCD (LVM2、EXT2) 访问文件系统

我必须恢复/etc/passwd我在 Ubuntu 服务器中意外重命名的文件,因此我使用 LiveCD 启动了机器。

问题是,系统文件系统未出现在 Nautilus 的“设备”下。我是否遗漏了什么?

ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
Disk identifier: 0x000956dc

Device Boot         Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758   625141759   312320001    5  Extended
/dev/sda5          501760   625141759   312320000   8e  Linux LVM


ubuntu@ubuntu:~$ mount
/cow on / type overlayfs (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
/dev/sr0 on /cdrom type iso9660 (ro,noatime)
/dev/loop0 on /rofs type squashfs (ro,noatime)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
gvfs-fuse-daemon on /home/ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ubuntu)

ubuntu@ubuntu:~$ sudo blkid
/dev/loop0: TYPE="squashfs" 
/dev/sda1: UUID="aad69790-198d-45bc-9ccd-e4cba7456914" TYPE="ext2" 
/dev/sda5: UUID="wbIDX7-RILL-VtFT-gX15-N1GJ-Yyfg-V8Oe5m" TYPE="LVM2_member" 
/dev/sr0: LABEL="Ubuntu 12.04 LTS i386" TYPE="iso9660"

ubuntu@ubuntu:~$ cat /etc/fstab
overlayfs / overlayfs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0

答案1

有时会发生这种情况,我不知道具体原因。但您可以手动安装它,我猜安装后它会显示出来。如果您希望找到安装磁盘的方法,请按照以下步骤操作。

  • 通过Ctrl++打开终端并执行此操作。AltT

    sudo blkid
    

    它将显示一些内容:

    /dev/sda1: LABEL="Windows" UUID="FA50DCB150DC763B" TYPE="ntfs" 
    /dev/sda5: LABEL="40GBTWO" UUID="00A0CE7EA0CE7A24" TYPE="ntfs" 
    /dev/sda6: UUID="7550252c-3da7-4cd9-8da3-71e9ba38e74a" TYPE="ext4" 
    /dev/sda7: UUID="088fd084-a011-4896-aa93-c0caaad60620" TYPE="swap" 
    /dev/sdb1: LABEL="SaurK" UUID="1B7B3C0764A21F1F" TYPE="ntfs" 
    

    即硬盘的所有分区(包括外部分区),无论是否已安装。

  • 现在您可以通过执行以下命令来挂载任何分区:

    sudo mount /dev/sda1
    

    如果要挂载,/dev/sda1请替换/sda1到要挂载的分区。

  • 虽然现在需要但是我告诉你卸载你可以执行:

    sudo umount /dev/sda1
    

    使用与前面的命令中描述的相同的逻辑。

编辑

如您所见,您的/dev/sda1以及/dev/sda5条目不在中/etc/fstab。您可以按照以下步骤手动挂载分区。

  • 首先创建一个挂载点,用于挂载分区。通常所有分区都挂载在 中/media。您必须在那里创建目录才能挂载分区。在终端中执行以下操作以在那里创建两个目录:

    sudo mkdir /media/part1 /media/part2
    
  • 现在您必须进行更改才能/etc/fstab挂载您/dev/sda1/dev/sda5分区。执行以下命令即可完成此操作:

    sudo nano /etc/fstab
    

    转到最后一行并添加以下行:

    UUID=aad69790-198d-45bc-9ccd-e4cba7456914 /media/part1    ext2    errors=remount-ro 0       1
    UUID=wbIDX7-RILL-VtFT-gX15-N1GJ-Yyfg-V8Oe5m /media/part2   LVM2_member    errors=remount-ro 0       1
    

    稍微解释一下:UUID="包含硬盘分区的ID,第一个是分区/dev/sda1,第二个是/dev/sda5分区。sudo blkid命令对于获取分区信息非常有用,例如唯一唯一标识符文件系统类型分区条目等等。因此,任何人都可以使用它来获取他们的信息。/media/part1是第一个分区的挂载条目,/media/part2是第二个分区的挂载条目。记住我为什么在上面创建两个目录。是您的第一个ext2分区的文件系统类型:/dev/sda1。它也可能像其他东西一样:ext3,,,等等,您可以从上面提到的命令中获取信息。其他对于所有类型的文件系统都是相同的,它告诉如果发生任何错误,那么ext4ntfsfatsudo blkidremount the file system in read-only mode 此链接是一个很棒的教程。

    Ctrl+x保存并退出。y提示保存时按。

  • LVM2_member是一个相当不同的文件系统,如果添加它的信息/etc/fstab没有帮助,那么您可以通过以下方式挂载它:

    sudo modprobe dm-mod; sudo vgchange -ay
    

    如果需要的话:

    sudo apt-get install lvm2
    
  • 您可以/dev/sda1通过执行以下命令进行挂载:

    sudo mount /dev/sda1
    

希望它能够帮助您解决问题。

相关内容