在 arm 架构(Odroid-N2+)上运行 Ubuntu 18.04.5 LTS
我已将 USB 硬盘 ( /dev/sda
) 连接到带有 4TB ext4 分区 ( /dev/sa1
) 的计算机,并已编辑/etc/fstab
为/dev/sda1
在启动时安装到/media/user/placeA
。这可以工作,但/dev/sda1
也安装到/media/usb0
( 中没有此内容/etc/fstab
),我不需要也不想要。
还有第二个 USB 硬盘(/dev/sdb
),其中也包含一个 4TB NTFS 分区,/etc/fstab
可以安装,/media/user/placeB
也可以正常工作,但是这个硬盘不能安装到第二个安装点,例如/media/usb1
。
有人知道为什么第一个 USB 磁盘会挂载到/media/usb0
以及如何避免这种情况吗?
fstab
内容:# UNCONFIGURED FSTAB FOR BASE SYSTEM LABEL=BOOT /media/boot vfat umask=0077 0 1 UUID=e139ce78-9841-40fe-8823-96a304a09859 / ext4 errors=remount-ro 0 1 UUID=2D3706383B1F1ECC /media/user/placeB ntfs-3g defaults 0 UUID=c47f79ed-59d1-4dd3-9214-39002cd17c49 /media/user/placeA ext4 defaults 0
blkid
输出:/dev/mmcblk1p1: SEC_TYPE="msdos" LABEL="BOOT" UUID="F702-39CB" TYPE="vfat" PARTUUID="03823826-01" /dev/mmcblk1p2: LABEL="rootfs" UUID="e139ce78-9841-40fe-8823-96a304a09859" TYPE="ext4" PARTUUID="03823826-02" /dev/sda1: UUID="c47f79ed-59d1-4dd3-9214-39002cd17c49" TYPE="ext4" PARTUUID="e64182bb-4314-4bed-acde-eeb41a714b19" /dev/sdb1: UUID="2D3706383B1F1ECC" TYPE="ntfs" PTTYPE="dos" PARTLABEL="primary" PARTUUID="4e8bc928-364a-4e38-a073-fdd2e6e96a74" /dev/mmcblk1: PTUUID="03823826" PTTYPE="dos"
lsblk
输出:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 3,7T 0 disk └─sda1 8:1 0 3,7T 0 part /media/usb0 sdb 8:16 0 3,7T 0 disk └─sdb1 8:17 0 3,7T 0 part /media/user/placeB mmcblk1 179:0 0 59,7G 0 disk ├─mmcblk1p1 179:1 0 128M 0 part /media/boot └─mmcblk1p2 179:2 0 59,6G 0 part /
答案1
我不完全确定为什么会发生此错误,但我观察到了其他一些事情。我猜,你正在使用 Raspberry-Pi(或其他嵌入式计算机)。我会给你一些一般提示。首先,Linux/Unix OS 中或多或少有 2 个明显的挂载目录,第一个是/mnt
,第二个是/media
。/mnt
只能由管理员用作临时挂载文件夹。/media
只能用于可移动设备,更准确地说是未知设备。这意味着,你不应该/media
在中将其用作常规挂载目录/etc/fstab
。
现在你会问,“但是我到底该把我的永久设备(比如 USB 硬盘等)安装在哪里呢?”。
答案是,您将它们挂载到特定目录或一般目录中。
例如,mmcblk1p1
似乎是 Linux 操作系统的启动分区。因此,您应该将其挂载到特定目录中,例如/boot
。
在执行此操作之前,请确保/media/boot
和/boot
具有相同的文件(名称、大小、日期)。如果两个目录中的文件不同,您可以将最新文件复制到最旧的文件上。确保先创建备份,以防万一发生意外。
备份您的fstab
文件。
fstab
- 启动分区
# Comments start with a #-character
# LABEL=BOOT /boot vfat umask=0077 0 1
# Using UUID is generally advisable
UUID=F702-39CB /boot vfat umask=0077 0 1
“好的,但是我应该使用哪些通用目录呢?”
如果您不想重新发明轮子,您可以使用/srv
目录进行永久挂载,更确切地说,您可以在其中创建一些子目录。例如:sudo mkdir /srv/sda1 /srv/sdb1
。其他一些管理员甚至在根目录中创建一个新目录,例如sudo mkdir /amnt /amnt/sda1 /amnt/sdb1
(数量表示自动挂载),或者sudo mkdir /automnt /automnt/sda1 /automnt/sdb1
。我个人更喜欢/srv
目录。
一般条目fstab
由 6 个部分组成:
<DEVICE> <MOUNT-DIR> <FS-TYPE> <FS-OPTIONS> <USE-DUMP> <DO-FS-CHECK>
作为给新手的一般提示:<USE-DUMP>
应该始终为0
。当为或或<DO-FS-CHECK>
时应始终为。当为或时,对于所有其他条目应始终为。对于所有剩余条目应为。1
<MOUNT-DIR>
/
/boot
/boot/efi
<DO-FS-CHECK>
2
<FS-TYPE>
ext2
ext3
ext4
<DO-FS-CHECK>
0
我看到您的分区 sdb1 是 NTFS。您应该知道这可能很危险,因为 Ubuntu 并不真正支持 NTFS。当您在该分区上安装了 Windows 时,情况可能会变得更加危险。危险意味着可能完全丢失该分区上的所有数据。
如果您确实想在 Ubuntu 中使用 NTFS,您应该确保完成以下事项。
- 停用快速启动模式在 Windows 中
- 永远不要从 Linux 将数据写入 NTFS 文件系统
- 永远不要在 Linux 上对 NTFS 进行文件系统检查
- 你应该在 Linux 中将 NTFS 挂载为只读文件系统
fstab
- 包含所有条目(不要忘记sudo mkdir /srv/sda1 /srv/sdb1
并使用最新的启动文件)
# Comments start with a #-character
# LABEL=BOOT /boot vfat umask=0077 0 1
# Using UUID is generally advisable
UUID=F702-39CB /boot vfat umask=0077 0 1
UUID=e139ce78-9841-40fe-8823-96a304a09859 / ext4 errors=remount-ro 0 1
UUID=c47f79ed-59d1-4dd3-9214-39002cd17c49 /srv/sda1 ext4 defaults 0 2
UUID=2D3706383B1F1ECC /srv/sdb1 ntfs-3g ro 0 0
尽可能尝试应用这些设置。备份您的fstab
文件。