Назад | Перейти на главную страницу

Как восстановить файл fstab с текущей конфигурацией

Я использую 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="Expansion Drive" UUID="782042B920427E5E" TYPE="ntfs" 


$ cat /etc/mtab
/dev/sda1 / ext4 rw,errors=remount-ro 0 0
proc /proc proc rw,noexec,nosuid,nodev 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
none /dev devtmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
none /var/run tmpfs rw,nosuid,mode=0755 0 0
none /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
none /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
none /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** из 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 в новый файл и удалите строки, начинающиеся с "none" и изменить /dev/sd** расставаться с Blkid выпускаемые эквиваленты. Если UUID существуют, используйте UUID вместо того /dev/sd**. Если МЕТКА существуют использовать LABEL вместо того UUID.

Не удаляйте ничего кроме "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.

«Содержимое» mtab (оно генерируется динамически) на 100% совместимо с форматом fstab.

Прежде всего, прямо сейчас скопируйте этот текущий файл в безопасное место:

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 и смонтировать man-страницы, пока он перезагружается :)

Вы можете попробовать записать файл в следующем формате:

# <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