現在の構成で 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" タイプ="スワップ"
/dev/sdb1: ラベル="Files_Server_Int" UUID="02fc2eda-d9fb-47fb-9e60-5fe3073e5b55" タイプ="ext4"
/dev/sdc1: UUID="41e60bc2-2c9c-4104-9649-6b513919df4a" タイプ="ext4"
/dev/sdd1: ラベル="拡張ドライブ" UUID="782042B920427E5E" タイプ="ntfs"


$ cat /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ドライブ 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

答え1

/dev/sd**から始まる行をコピーすることができますマルチタブ( /etc/mtab) を新しいテキスト ファイルに貼り付けて、または/dev/sd**に変更します。たとえば、設定から次のようになります。UUIDLABEL

使用

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

IMOはあなたのマルチタブ新しいファイルを作成し、で始まる行を削除し"none"/dev/sd**で始まる部分を変更します。blkidさん出力相当。言語が存在する場合は、UUIDの代わりに を使用してください/dev/sd**ラベル存在するLABEL代わりに使用する言語

行以外は削除しないでください"none"。ファイルを保存し、ファイル名を に変更してfstabにコピーします/etc

最後に、もしあれば行を追加しますswap(これを忘れると、システムは起動しますが、/OS のデフォルト設定によっては、スワップ領域がゼロになったり、ルート ( ) にスワップ ファイルが生成されたりする可能性があります)。たとえば、あなたの場合、次の行が出力されることに注意してください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 の2つだけです。

関連情報