Я использую 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