현재 구성으로 fstab 파일을 복구하는 방법

현재 구성으로 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="스왑"
/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="확장 드라이브" UUID="782042B920427E5E" TYPE="ntfs"


$ 고양이 /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드라이브 퓨즈 blk rw,nosuid,nodev,allow_other,blksize=4096,default_permissions 0 0
gvfs-fuse-daemon /home/yvoyer/.gvfs 퓨즈.gvfs-fuse-daemon rw,nosuid,nodev,user=yvoyer 0 0
/dev/sdd1 /media/Backup500 퓨즈blk 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 퓨즈.gvfs-fuse-daemon rw,nosuid,nodev,user=cdrapeau 0 0

답변1

/dev/sd**from 으로 시작하는 줄을 복사할 수 있습니다.mtab( /etc/mtab)를 새 텍스트 파일에 붙여넣고 또는 /dev/sd**로 변경합니다 . 예를 들어 구성에서:UUIDLABEL

사용

UUID="3fc55e0f-a9b3-4229-9e76-ca95b4825a40" / ext4 rw,errors=remount-ro 0 0

대신에

/dev/sda1 / ext4 rw,errors=remount-ro 0 0

위의 줄도 작동하지만UUID는 새로운 표준이며, 그럽이 로 구성된 경우 UUID어떤 파티션이 무엇인지 이해하지 못할 수도 있습니다.

LABEL파티션에 레이블이 있는 경우 대신 을 사용할 수 있습니다 UUID. 예를 들면 다음과 같습니다.

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

IMO 복사mtab새 파일로 시작하는 줄을 제거하고 다음으로 부분을 "none"변경하십시오 ./dev/sd**블키드출력 등가물. 만약에UUID존재하는 경우 UUID대신 에 를 사용하십시오 /dev/sd**. 만약에상표존재하는 LABEL대신에UUID.

선 외에는 아무것도 제거하지 마십시오 "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 파티션이 두 개만 있습니다.

관련 정보