两块硬盘,一个win10,另一个Linux,最终结果是sda和sdb Linux混淆

两块硬盘,一个win10,另一个Linux,最终结果是sda和sdb Linux混淆

如何将系统指向正确的 sdb5 分区?

为了安装,我移除了 Window 10 硬盘来安装 Peppermint OS,因为它无法识别我想要安装 Linux 的第二个硬盘,它只给了我在 Windows 10 磁盘上双重安装的选项。

一旦主硬盘被移除,Linux 就会识别第二个硬盘,但使用 sda 来安装操作系统。我明白了,因为当时没有第二个硬盘。

安装完Linux后,我在主硬盘托架上重新安装了Win10硬盘。一旦我这样做了,Linux 自动将其磁盘重命名为 sdb。现在,系统在没有交换的情况下运行,因为它希望其交换分区位于 sda 上。

运行swapon并不能解决问题,因为它需要 sda5,而这是不正确的。请注意如何etc/fstab显示原始安装位于 /dev/sda1 上,并且交换分区是在 /dev/sda5 上创建的。

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=c9f3ceae-725a-4042-8571-8099361f264b /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
#UUID=efc2e006-9040-xxx-xxxxx-157e5e5ec0e5 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

当我运行命令 sudo fdisk -l 时

Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x93368b07

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048   1026047   1024000   500M  7 HPFS/NTFS/exFAT
/dev/sda2         1026048 476877420 475851373 226.9G  7 HPFS/NTFS/exFAT
/dev/sda3       487380992 488394751   1013760   495M 27 Hidden NTFS WinRE


Disk /dev/sdb: 298.1 GiB, 320072933376 bytes, 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
Disklabel type: dos
Disk identifier: 0xf9090822

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1  *         2048 608497663 608495616 290.2G 83 Linux
/dev/sdb2       608499710 625141759  16642050     8G  5 Extended
/dev/sdb5       608499712 625141759  16642048     8G 82 Linux swap / Solaris


Disk /dev/mapper/cryptswap1: 8 GiB, 8520204288 bytes, 16641024 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

这是 /etc/cripttab 的输出

cryptswap1 UUID=efc2e006-9040-44f6-xxxx-157e5e5ec0e5 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

应该读吗?

cryptswap1 /dev/sdb5 UUID=efc2e006-9040-44f6-xxxx-157e5e5ec0e5 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

不,它应该是:

cryptswap1 /dev/disk/by-uuid/efc2157....  /dev/urandom swap,offset=1024,cipher=aes-xts-plain64

Edit3 差异令人印象深刻。我使用的是磁盘驱动器,重新启动后我的计算机速度明显加快,并且可以同时处理更多文档和程序。

答案1

看起来您有一个加密交换。要解决您的问题,您应该查找 /etc/crypttab。它类似于fstab并包含要在启动时解锁的加密设备的列表。一开始你应该看到类似的东西cryptswap1 /dev/sda5。因此,将其更改为您的交换分区现在指向的任何内容。或者您可以在那里设置 UUID,例如cryptswap1 UUID=efc2e006-9040-44f6-a14c-157e5e5ec0e5.如果您使用 /dev/sd* 方案,请确保将其指向正确的分区(根据您的 fdisk 输出,/dev/sdb5 现在是您的交换分区)。该分区将在下次系统重新启动后用作加密交换区,因此请确保您设置正确!正如所提到的德克特,您可以通过执行来查看系统中的 UUID ls -al /dev/disk/by-uuid/blkid程序还可以显示 UUID。

相关内容