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

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

Я использую Ubuntu 10.04 и случайно удалил все записи из файлов fstab во время резервного копирования (да, я знаю ;)).

Я хотел бы узнать, есть ли способ перестроить его с текущими параметрами монтирования, так как я не перезапускал сервер с момента удаления. Если такой программы нет, может ли кто-нибудь помочь мне перестроить его.

С использованиемэтотЯ нашел команду для отображения текущих настроек, но не знаю, что с ней делать.

$ судо блокид
/dev/sda1: UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" ТИП="ext4"
/dev/sda5: UUID="718e611d-b8a3-4f02-a0cc-b3025d8db54d" ТИП="swap"
/dev/sdb1: LABEL="Files_Server_Int" UUID="02fc2eda-d9fb-47fb-9e60-5fe3073e5b55" TYPE="ext4"
/dev/sdc1: UUID="41e60bc2-2c9c-4104-9649-6b513919df4a" ТИП="ext4"
/dev/sdd1: LABEL="Расширенный диск" 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
нет /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,mode=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вместо нее UUID, например:

LABEL="Files_Server_Int" /media/Files_Server ext4 rw 0 0

ИМО скопирую вашмтабв новый файл и удалите строки, начинающиеся с "none"и измените /dev/sd**часть сблкидвыходные эквиваленты. ЕслиUUIDсуществует, используйте UUIDвместо /dev/sd**. ЕслиЭТИКЕТКАсуществует используйте LABELвместоUUID.

Не удаляйте ничего, кроме "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 (оно генерируется динамически) на 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-страницы, пока он перезагружается :)

решение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

Связанный контент