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