从 USB 启动时,我应该在 fstab 中使用 /dev/sda 还是 /dev/sdb?

从 USB 启动时,我应该在 fstab 中使用 /dev/sda 还是 /dev/sdb?

我正在从头开始构建 Linux 以放置在 USB 驱动器上,但不知道 Linux 是否总是调用从 /dev/sda 启动的驱动器。

我的系统中有两个磁盘,我的 SSD(在 Arch 安装中称为 /dev/sda)和我的 USB 驱动器(称为 /dev/sdb)。

我的 /etc/fstab 文件应该是这样的:

    # <device>             <dir>         <type>    <options>             <dump> <fsck>
    /dev/sda1              /             ext4      noatime               0      1
    /dev/sda2              none          swap      defaults              0      0
    /dev/sda3              /home         ext4      noatime               0      2

或类似的东西:

    # <device>             <dir>         <type>    <options>             <dump> <fsck>
    /dev/sdb1              /             ext4      noatime               0      1
    /dev/sdb2              none          swap      defaults              0      0
    /dev/sdb3              /home         ext4      noatime               0      2

答案1

您不应该使用sdasdb。虽然在实践中,内部磁盘很可能会首先被识别并成为sda,但您不确定。您也可能遇到过带有两个内置磁盘的计算机,那么sdb就会出现错误。

要识别您的 USB 驱动器,请使用 UUID 或您要使用的分区的标签。会是这样的

/dev/disk/by-uuid/12345678-1234-1234-1234-123456789abc

或者

/dev/disk/by-label/usb-drive

UUID是一个随机值,它应该是uniq的。如果您使用标签,请确保使用唯一名称。

答案2

在一般情况下,它不会。

更喜欢这样的东西:

UUID=0a3407de-014b-458b-b5c1-848e92a327a3 /     ext4   defaults

https://wiki.archlinux.org/index.php/fstab#File_system_UUIDs

如果您从 Linux 文本控制台安装...我可能建议安装gpm,这样您就可以使用鼠标进行“复制和粘贴”:-)。

答案3

我在两个 120gb ssd 上使用 ZFS 镜像安装了一个新系统(ubuntu 22.04 LTS),并且使用/dev/sda1 /boot/efiin/etc/fstab节省了我大量的配置时间。当你拉出模拟损坏的两个磁盘之一时,如果我使用 uuid 而不是/sda1它只会启动一个磁盘,第二个磁盘将无法启动,因为它具有不同的 uuid。

确实sd,字母是可以改变的,sda将是主板和操作系统最先识别的磁盘,而Linux并不是掷骰子来决定先识别哪个磁盘,它会遵循与主板相关的sata顺序主板上的SATA 编号。如果您在 SATA1 和 SATA2 上连接系统驱动器,则镜像驱动器将始终用于sdaSATA1 和sdbSATA2。如果sda坏了,当你把它拔出来时,之前sdb的就是现在sda,它会正常启动。

我通常在 SATA 电缆的两端标上字母,A B C以便与主板 SATA 序列号相匹配,这样您在使用磁盘时就不会弄乱错误的连接。

概括:

  • 我建议对除以下之外的所有内容都使用 UUID/boot/efi
  • 我建议/dev/sda1使用/boot/efi

相关内容