如何将系统指向正确的 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。