如何从现在的外部硬盘读取/安装完整的 Ubuntu 卷

如何从现在的外部硬盘读取/安装完整的 Ubuntu 卷

昨天我决定将我的笔记本电脑硬盘升级为 SSD。我之前在随附的 HDD 上运行 Ubuntu 14.04。我在 SSD 上安装了 Ubuntu 14.10。

我想安装旧硬盘,以便复制所有文件。因此,我购买了一个外壳,可以将其视为外部 USB 驱动器。我将硬盘放入外壳并插入。它被检测到,并且可以看到所有卷。但它只安装启动卷进行读/写。

HDD 为 750GB,SSD 为 120GB。当我在“磁盘”实用程序中检查时,我可以看到两个硬盘,并且可以轻松分辨出两者之间的区别。当我检查 HDD 时,我看到:分区 1 Ext2(启动卷)、扩展分区 2 和分区 5 LVM2 PV。

所以很明显它也可以看到卷。它报告磁盘正常,但有一个坏扇区。驱动器未加密。我不确定为什么它显示两个大小相同的卷。可能与它是 LVM 卷有关。

我如何让它读取我旧安装的 Ubuntu 中的文件?

$ sudo fdisk -l
Disk /dev/sda: 223.6 GiB, 240057409536 bytes, 468862128 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
Disklabel type: dos
Disk identifier: 0x7f79a18e

Device     Boot  Start       End   Sectors   Size Id Type
/dev/sda1  *      2048    499711    497664   243M 83 Linux
/dev/sda2       501758 468860927 468359170 223.3G  5 Extended
/dev/sda5       501760 468860927 468359168 223.3G 8e Linux LVM

Disk /dev/mapper/ubuntu--vg-root: 215.6 GiB, 231479443456 bytes, 452108288 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 /dev/mapper/ubuntu--vg-swap_1: 7.8 GiB, 8317304832 bytes, 16244736 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 /dev/sdb: 596.2 GiB, 640135028736 bytes, 1250263728 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
Disklabel type: dos
Disk identifier: 0x0004f632

Device     Boot  Start        End    Sectors  Size Id Type
/dev/sdb1  *      2048     499711     497664  243M 83 Linux
/dev/sdb2       501758 1250263039 1249761282  596G  5 Extended
/dev/sdb5       501760 1250263039 1249761280  596G 8e Linux LVM

答案1

我遇到了这个问题并找到了解决方案此 Ubuntu 论坛主题。如果其他人遇到此问题和/或该链接将来失效,我将提供进一步的详细信息。

系统详细信息

在主计算机上运行 Ubuntu 16.04。我有 2 个内置驱动器(SDA = 带 Grub 的 Ubuntu 16.04,SDB = Windows 10)。我还有一个来自另一台机器的内置 SATA 驱动器,上面装有 Ubuntu 14.04,我决定使用 SATA-to-USB 外部底座安装它,随后将该磁盘放在 SDC 上;我将这个驱动器称为“delta”(使用sudo lsblk或查看这些sudo fdisk -l,或者可以选择从 Dash 启动 GUI“磁盘”)

问题

只需查看 Nautilus(文件 GUI),当连接增量驱动器时,我可以看到一个 255 MB 的卷,但这是分区 1 主引导记录(Linux 可引导;EXT2)。查看磁盘 GUI 可以清楚地看到我有一个 1,000 GB 的扩展分区(分区 2)和分区 5,它是 1,000 GB 的 LVM2 物理卷,但没有安装此分区的选项。

使固定

  • 第一次运行

    $ sudo vgscan
    Reading all physical volumes.  This may take a while...
    Found volume group "ubuntu-vg" using metadata type lvm2
    Found volume group "ubuntu-vg" using metadata type lvm2
    

    此输出的问题在于,我的主驱动器和此辅助“增量”驱动器都显示相同的卷组名称,ubuntu-vg这会导致一些冲突,并且很难区分它们。所以我们需要更改其中一个。

  • 拔下辅助(增量)驱动器。如果它是内置的,则需要关机才能执行此操作,因为我使用的是底座,所以我只需将其关闭即可。

  • 重启后,重新运行:

    $ sudo vgscan
    Reading all physical volumes.  This may take a while...
    Found volume group "ubuntu-vg" using metadata type lvm2
    
  • 跑步:

    sudo vgrename /dev/ubuntu-vg /dev/ubuntu-vg-primary
    

    选择您想要的任何新名称,我选择-primary在此处附加。

  • 现在要么关机并重新连接辅助设备并重新启动,要么像我一样使用外部底座连接驱动器。

  • 再次运行:

    $ sudo vgscan
    Reading all physical volumes.  This may take a while...
    Found volume group "ubuntu-vg-primary" using metadata type lvm2
    Found volume group "ubuntu-vg" using metadata type lvm2
    

    这就是我们想要看到的;两个唯一的卷组名称。

  • 要激活我们的辅助(增量)驱动器卷组,请运行:

    $ sudo vgchange -ay ubuntu-vg
    2 logical volume(s) in volume group "ubuntu-vg" now active
    2 logical volume(s) in volume group "ubuntu-vg-primary" now active
    
  • 如果还没有,请创建一个挂载点,例如:

    sudo mkdir -p /mnt/delta/  
    
  • 使挂载点归您的用户所有:

    sudo chown $(id -u):$(id -g) /mnt/delta/  
    

重要的笔记:

此时,您的系统要么无法重新启动进入 Ubuntu,要么会尝试加载与“辅助”驱动器相对应的 Ubuntu 版本;启动时,默认/标准是从标识为“ubuntu-vg”的卷组加载。为了处理这种情况,我继续执行以下操作:

$ sudo vgscan  
2 logical volume(s) in volume group "ubuntu-vg" now active
2 logical volume(s) in volume group "ubuntu-vg-primary" now active
$ sudo vgchange -ay ubuntu-vg
$ sudo vgrename /dev/ubuntu-vg /dev/ubuntu-vg-secondary
$ sudo vgscan
2 logical volume(s) in volume group "ubuntu-vg-secondary" now active
2 logical volume(s) in volume group "ubuntu-vg-primary" now active
$ sudo vgchange -ay ubuntu-vg-primary
$ sudo vgrename /dev/ubuntu-vg-primary /dev/ubuntu-vg
$ sudo vgscan
2 logical volume(s) in volume group "ubuntu-vg-secondary" now active
2 logical volume(s) in volume group "ubuntu-vg" now active

最后我们可以使用以下方式安装:

sudo mount /dev/ubuntu-vg-secondary/root /mnt/delta/

此时,您可以在 Nautilus 中导航到“计算机”,然后导航到 /mnt/delta/,并查看外部驱动器的根目录。您可以快速将书签添加到此位置,以便轻松访问它。您可以(谨慎地)继续备份现有的 /etc/fstab(到 /etc/fstab.bak)并修改现有的 fstab 以尝试将此设备/位置自动安装到安装点。确保在关机或重启之前测试您的 fstab。

使用sudo blkid我可以找到所有相关的 UUID、设备、分区、卷组信息以及 FS 类型,并使用这些信息向我的 fstab 添加挂载条目指令。例如:

UUID=d7556cd2-67b3-4fb4-acc8-1e33dd0eb040       /mnt/delta      ext4    defaults        0       2

测试使用sudo mount -a(没有输出意味着良好;任何输出都可能意味着存在错误,在尝试重新启动之前应该处理这些错误,否则您可能无法正确重新启动回到您的操作系统)。

答案2

您必须挂载 LVM 分区。如果物理卷和/或逻辑卷具有相同的名称,可能会造成混淆...

扫描系统中的 LVM 卷,并在输出中识别该卷

sudo vgscan

你会看到类似

使用元数据类型 lvm2 找到卷组“fedora”

您应该看到两个卷组

激活(旧)卷组

sudo vgchange -ay fedora

将“fedora”更改为您的卷组;)

找到安装了旧 Ubuntu 的逻辑卷/分区

sudo lvs

或者

sudo lvdisplay

或者

ls /dev/fedora

再次,将 fedora 更改为你的卷组名称

挂载逻辑卷

sudo mount /dev/fedora/home /mnt

等等...

我只知道一个图形界面,system-config-lvm

sudo apt-get install system-config-lvm
sudo system-config-lvm

答案3

即使数据文件夹已加密,也有很多方法可以复制数据。您只需启动旧驱动器,将要复制的数据复制到外部媒体上,然后再复制到新媒体上。您也可以尝试使用随附的“备份”实用程序,根据我的经验,它非常有效。

话虽如此,如果你在升级之前询问我,我会给你完全不同的建议。我会指出 14.04 是一个 LTS 版本,升级到 14.10 只会要求你每六个月升级一次,我觉得这很麻烦。

我建议你下载克隆只需直接将旧硬盘克隆到新媒体,然后继续使用已有的安装,无需重新开始。当然,您仍然可以这样做,但现在您可能已经下定决心坚持使用新安装。

答案4

你可以用以下方法实现这个 UI核磁共振成像

选择要挂载的组,然后单击“mount fs”选项。

在此处输入图片描述

如果需要,您也可以从那里重命名它。

相关内容