私は 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**
に変更します。たとえば、設定から次のようになります。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
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つだけです。