yvo*_*yer 9 ubuntu hard-drive fstab
我正在使用 Ubuntu 10.04,并且在进行备份时不小心从 fstab 文件中删除了所有条目(是的,我知道;))。
我想知道是否有办法使用当前的挂载选项重建它,因为自删除以来我没有重新启动服务器。如果没有这样的程序,谁能帮我重建它。
使用this,我找到了显示当前设置的命令,但我不知道如何处理它。
$ sudo blkid /dev/sda1: UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" TYPE="ext4" /dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="swap" /dev/sdb1: LABEL="Files_Server_Int" UUID="02fc2eda-d9fb-47fb-9e60-5fe3073e5b55" TYPE="ext4" /dev/sdc1: UUID="41e60bc2-2c9c-4104-9649-6b513919df4a" TYPE="ext4" /dev/sdd1: LABEL="扩展驱动器" UUID="782042B920427E5E" TYPE="ntfs" $ cat /etc/mtab /dev/sda1 / ext4 rw,errors=remount-ro 0 0 proc /proc proc rw,noexec,nosuid,nodev 0 0 无 /sys sysfs rw、noexec、nosuid、nodev 0 0 无/sys/fs/fuse/connections fusectl rw 0 0 无 /sys/kernel/debug debugfs rw 0 0 无 /sys/kernel/security securityfs rw 0 0 无 /dev devtmpfs rw,mode=0755 0 0 无 /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0 无 /dev/shm tmpfs rw,nosuid,nodev 0 0 无/var/run tmpfs rw,nosuid,mode=0755 0 0 无/var/lock tmpfs rw,noexec,nosuid,nodev 0 0 无/lib/init/rw tmpfs rw,nosuid,mode=0755 0 0 无 /var/lib/ureadahead/debugfs debugfs rw,relatime 0 0 /dev/sdc1 /home ext4 rw 0 0 /dev/sdb1 /media/Files_Server ext4 rw 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0 /dev/sdd1 /media/Expansion\040Drive fuseblk rw,nosuid,nodev,allow_other,blksize=4096,default_permissions 0 0 gvfs-fuse-daemon /home/yvoyer/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=yvoyer 0 0 /dev/sdd1 /media/Backup500 fuseblk rw,nosuid,nodev,sync,allow_other,blksize=4096,default_permissions 0 0 /dev/sr0 /media/DIR-615 iso9660 ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500 0 0 gvfs-fuse-daemon /home/cdrapeau/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=cdrapeau 0 0
您可以复制/dev/sd**
从mtab开始的行并将它们粘贴到新的文本文件中,然后/dev/sd**
使用UUID
或 进行更改LABEL
。例如从你的配置:
用
UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" / ext4 rw,errors=remount-ro 0 0
Run Code Online (Sandbox Code Playgroud)
反而
/dev/sda1 / ext4 rw,errors=remount-ro 0 0
Run Code Online (Sandbox Code Playgroud)
上面的行也有效,但UUID是新的标准,如果你的 grub 配置了 UUID,它可能无法理解哪个分区是什么。
如果分区有 Label 你可以使用LABEL
代替UUID
,例如:
LABEL="Files_Server_Int" /media/Files_Server ext4 rw 0 0
Run Code Online (Sandbox Code Playgroud)
IMO 将您的 mtab 复制到一个新文件并删除以 开头的行"none"
并/dev/sd**
使用blkid输出等效项更改部分。如果UUID存在,请使用UUID
代替/dev/sd**
。如果LABEL存在,请使用LABEL
代替UUID。
除了"none"
线条,不要删除任何其他东西。保存文件,将文件名更改为fstab
并复制到/etc
.
最后添加交换行(如果您忘记了这一点,您的系统将启动,但您的交换空间将为零)。例如,在您的情况下,请注意 blkid 打印此行:
/dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
所以你在 fstab 中需要这一行:
UUID=718e611d-b8a3-4f02-a0cc-b3025d8db54d none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
这可能有助于恢复您的 fstab。
mtab 的“内容”(它是动态生成的)与 fstab 格式 100% 兼容。
首先,将当前文件复制到安全的地方,现在:
cp /etc/mtab ~/mtab_working
然后将其复制到新的 fstab 并删除所有对启动不重要的内容;你将得到:
/dev/sda1 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
/dev/sdc1 /home ext4 rw 0 0
Run Code Online (Sandbox Code Playgroud)
然后只需添加东西(在重新启动的系统启动时),直到您拥有所需的一切。
您有一些时间在重新启动时阅读 fstab 和挂载手册页:)
归档时间: |
|
查看次数: |
21543 次 |
最近记录: |