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

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

我使用的是 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

相關內容