Ubuntu

如何使用目前配置修復 fstab 文件

  • October 26, 2014

我正在使用 Ubuntu 10.04,並且在進行備份時不小心從 fstab 文件中刪除了所有條目(是的,我知道;))。

我想知道是否有辦法使用目前的掛載選項重建它,因為自從刪除後我沒有重新啟動伺服器。如果沒有這樣的程序,誰能幫我重建它。

使用這個,我找到了顯示目前設置的命令,但我不知道如何處理它。

$ 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"


$ 貓 /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**from mtab開頭的行並將它們粘貼到新的文本文件中,然後/dev/sd**使用UUID或進行更改LABEL。例如,從您的配置中:

採用

UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" / ext4 rw,errors=remount-ro 0 0

反而

/dev/sda1 / ext4 rw,errors=remount-ro 0 0

上面的行也可以,但是UUID是新的標準,如果你的 grub 配置了 UUID,它可能無法理解哪個分區是什麼。

如果分區有標籤,您可以使用LABEL代替UUID,例如:

LABEL="Files_Server_Int" /media/Files_Server ext4 rw 0 0

IMO 將您的 mtab 複製到一個新文件並刪除以blkid輸出等效項開頭的行"none"並更改/dev/sd**部分。如果UUID存在,請使用代替。如果LABEL存在,請使用UUID代替。UUID``/dev/sd**``LABEL

請勿刪除除"none"線條之外的任何其他內容。保存文件,將文件名更改為fstab並複製到/etc.

最後添加交換行(如果有的話)(如果您忘記了這一點,您的系統將啟動,但您將有零交換空間)。例如,在您的情況下,請注意 blkid 列印此行:

/dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="swap" 

所以你在 fstab 中需要這一行:

UUID=718e611d-b8a3-4f02-a0cc-b3025d8db54d none  swap sw   0   0

這可能有助於恢復您的 fstab。

引用自:https://serverfault.com/questions/333728