我在 Acer Chromebook C720 上运行 Ubuntu 14.04。出于某种原因,我的/etc/fstab
文件“未配置”。
me@chrubuntu:~$ cat /etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?如何正确配置我的/etc/fstab
文件?
默认情况下,Ubuntu 在安装时在 fstab 中使用 UUID。
要显示创建的分区,请在终端中以用户身份键入以下命令:
ls -l /dev/disk/by-uuid
Run Code Online (Sandbox Code Playgroud)
它将输出如下:
lrwxrwxrwx 1 root root 10 2014-07-25 21:43 348ea9e6-7879-4332-8d7a-915507574a80 -> ../../sda1
lrwxrwxrwx 1 root root 10 2014-07-25 21:43 610aaaeb-a65e-4269-9714-b26a1388a106 -> ../../sda2
lrwxrwxrwx 1 root root 10 2014-07-25 21:43 857c5e63-c9be-4080-b4c2-72d606435051 -> ../../sda5
lrwxrwxrwx 1 root root 10 2014-07-25 21:43 a83b8ede-a9df-4df6-bfc7-02b8b7a5f1f2 -> ../../sda6
lrwxrwxrwx 1 root root 10 2014-07-25 21:43 ad662d33-6934-459c-a128-bdf0393e0f44 -> ../../sda7
Run Code Online (Sandbox Code Playgroud)
下一步是将 UUID 分区输入到 /etc/fstab。
在引导过程中,/etc/fstab 中列出的文件系统会自动挂载,但包含 noauto 的条目除外。
该文件包含以下格式的条目:
device /mount-point fstype options dumpfreq passno
Run Code Online (Sandbox Code Playgroud)
device:现有的设备名称,默认情况下Ubuntu使用UUID
挂载点:要挂载文件系统的现有目录。
fstype:要传递给挂载的文件系统类型。Ubuntu 默认文件系统是 ext4。
options:rw 表示读写文件系统,ro 表示只读文件系统,后跟可能需要的任何其他选项。对于在引导序列期间通常不安装的文件系统,常见选项是 noauto。
dumpfreq:dump 使用来确定哪些文件系统需要转储。如果该字段缺失,则假定值为零。
passno:确定检查文件系统的顺序。应跳过的文件系统应将其密码设置为零。根文件系统需要在其他所有操作之前进行检查,并且应将其密码设置为 1。其他文件系统应设置为大于 1 的值。如果多个文件系统具有相同的 passno,fsck 将尝试并行检查文件系统(如果可能)。
要将其添加到 fstab 文件中,请使用具有 root 权限的文本编辑器:
sudo -i
nano /etc/fstab
Run Code Online (Sandbox Code Playgroud)
例子:
# <device file system> <mount point> <type> <options> <dump> <pass>
UUID=ad662d33-6934-459c-a128-bdf0393e0f44 / ext4 defaults 1 1
UUID=30ebb8eb-8f22-460c-b8dd-59140274829d /home ext4 defaults 1 1
UUID=7014f66f-6cdf-4fe1-83da-9cab7b6fab1a swap swap defaults 0 0
Run Code Online (Sandbox Code Playgroud)
Ctrl+ O, 保存文件。Ctrl+ X,关闭纳米。
计算机重新启动后,文件系统将自动安装。
除非需要一些特殊选项,否则不必在 fstab 中列出 /proc 和 /sys。
引导系统将始终安装它们。