我使用的是 Ubuntu 10.04,在備份時不小心刪除了 fstab 檔案中的所有條目(是的,我知道;))。
我想知道是否有辦法使用當前的安裝選項重建它,因為刪除後我沒有重新啟動伺服器。如果沒有這樣的程序,有人可以幫我重建它嗎?
使用這,我找到了顯示當前設定的命令,但我不知道如何處理它。
$ sudo blkid /dev/sda1:UUID =“3fc55e0f-a9b3-4229-9e76-ca95b4825a40”型別=“ext4” /dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="交換" /dev/sdb1:標籤=“Files_Server_Int”UUID=“02fc2eda-d9fb-47fb-9e60-5fe3073e5b55”類型=“ext4” /dev/sdc1:UUID =“41e60bc2-2c9c-4104-9649-6b513919df4a”型別=“ext4” /dev/sdd1: LABEL="擴充驅動器" UUID="782042B920427E5E" TYPE="ntfs" $ 貓 /etc/mtab /dev/sda1 / ext4 rw,錯誤=重新安裝-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,模式=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\040磁碟機 fusionblk rw,nosuid,nodev,allow_other,blksize=4096,default_permissions 0 0 gvfs-fuse-daemon /home/yvoyer/.gvfs fusion.gvfs-fuse-daemon rw,nosuid,nodev,user=yvoyer 0 0 /dev/sdd1 /media/Backup500 fusionblk rw,nosuid,nodev,同步,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 fusion.gvfs-fuse-daemon rw,nosuid,nodev,user=cdrapeau 0 0
答案1
/dev/sd**
您可以複製以from開頭的行姆塔布( /etc/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 您可以使用LABEL
代替UUID
,例如:
LABEL="Files_Server_Int" /media/Files_Server ext4 rw 0 0
國際海事組織複製你的姆塔布到一個新檔案並刪除以 開頭的行"none"
並更改/dev/sd**
以黑子輸出當量。如果通用唯一識別符存在,請使用UUID
代替/dev/sd**
。如果標籤存在使用 theLABEL
代替通用唯一識別符。
除了線條之外,不要刪除任何其他東西"none"
。儲存文件,將文件名更改為fstab
並複製到/etc
.
最後添加行(swap
如果有的話)(如果您忘記了這一點,您的系統將啟動,但交換空間可能為零,或者交換文件將在根(/
)處生成,具體取決於作業系統預設配置。) 。例如,在您的情況下,請注意blkid
列印此行:
/dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" TYPE="swap"
所以你需要這一行fstab
:
UUID=718e611d-b8a3-4f02-a0cc-b3025d8db54d none swap sw 0 0
這可能有助於恢復您的 fstab。
答案2
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
然後只需添加回來的東西(當重新啟動的系統啟動時),直到您擁有所需的所有內容。
當它重新啟動時,您有一些時間閱讀 fstab 和 mount 手冊頁:)
答案3
您可以嘗試按以下格式寫入文件:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
/dev/sda8 / ext4 errors=remount-ro 0 1
/dev/sda6 /boot ext4 defaults 0 2
# swap was on /dev/sda7 during installation
UUID=718e611d-b8a3-4f02-a0cc-b3025d8db54d none swap sw 0 0
在這個例子中,我只有兩個分割區 / 和 /boot