질문
리눅스 민트를 설치했습니다. 부팅할 때마다 컴퓨터의 두 파티션( New volume D
및 )을 수동으로 마운트해야 합니다. Drive C
이 작업을 수행하지 않으면 드라이브가 어디에도 표시되지 않습니다. 이 프로세스를 자동화할 수 있는 방법이 있는지 궁금합니다.
표적
부팅할 때마다 하드 드라이브의 모든 파티션을 자동으로 마운트합니다.
안경
Windows XP SP3을 사용한 Linux Mint 14 듀얼 부팅
답변1
가장 쉬운 방법으로 이 작업을 수행할 수 있습니다. 가다:
- 메뉴->디스크(응용프로그램)
- 마운트하려는 볼륨을 선택하고 해당 옵션을 클릭하십시오.
- "설치 옵션 편집" ->을 선택하고 드라이브에서 "시작 시 설치"가 선택되어 있는지 확인하세요.
답변2
파일을 통해 이 작업을 수행할 수 있습니다 /etc/fstab
. 확인 해봐협회. 이것지도 시간훌륭한 세부 사항도 있습니다.
단계 예
먼저, 하드 드라이브의 UUID를 찾아야 합니다. 이 명령을 사용하여 blkid
이를 수행할 수 있습니다. 예를 들어:
% sudo blkid
/dev/sda1: TYPE="ntfs" UUID="A0F0582EF0580CC2"
/dev/sda2: UUID="8c2da865-13f4-47a2-9c92-2f31738469e8" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda3: TYPE="swap" UUID="5641913f-9bcc-4d8a-8bcb-ddfc3159e70f"
/dev/sda5: UUID="FAB008D6B0089AF1" TYPE="ntfs"
/dev/sdb1: UUID="32c61b65-f2f8-4041-a5d5-3d5ef4182723" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb2: UUID="41c22818-fbad-4da6-8196-c816df0b7aa8" SEC_TYPE="ext2" TYPE="ext3"
위 명령의 출력은 항목을 추가할 때 blkid
하드 드라이브를 식별하는 데 사용될 수 있습니다 /etc/fstab
.
다음으로 파일을 편집해야 합니다 /etc/fstab
. 이 파일의 행은 다음과 같이 구성됩니다.
UUID={YOUR-UID} {/path/to/mount/point} {file-system-type} defaults,errors=remount-ro 0 1
이제 파일을 편집합니다.
% sudo vi /etc/fstab
예를 들어 다음과 같은 파일을 추가합니다.
UUID=41c22818-fbad-4da6-8196-c816df0b7aa8 /disk2p2 ext3 defaults,errors=remount-ro 0 1
파일을 저장한 다음 명령을 사용하여 파일을 다시 처리합니다 mount -a
.
윈도우 파티션
NTFS 파티션을 마운트하려면 파일에서 다음을 수행해야 합니다 /etc/fstab
:
/dev/sda2 /mnt/excess ntfs-3g permissions,locale=en_US.utf8 0 2
답변3
마운트할 파티션이 많으면 나와 같은 스크립트가 필요할 수도 있습니다.
# ! python
# mount all partition by neoedmund
from subprocess import Popen
from subprocess import PIPE
def getCol(col, line):
p1 = line.find(col)
if p1<0 : return ""
p2 = p1 + len(col) + 1
p3 = line.find('"',p2+1)
return line[p2+1:p3]
data_stream = Popen(["/bin/lsblk", "-P", "-o", "FSTYPE,UUID,MOUNTPOINT,KNAME"], stdout=PIPE)
data=[]
for line in data_stream.stdout:
fstype = getCol("FSTYPE", line)
if fstype=="": continue # no fs
mountpoint = getCol("MOUNTPOINT", line)
if mountpoint!="":continue # already mounted
uuid = getCol("UUID", line)
kname = getCol("KNAME", line)
data.append((kname, uuid))
print("### mount script ###")
for (kname,uuid) in data:
print("mkdir /media/%s-%s"%(kname, uuid))
print("mount /dev/%s /media/%s-%s" %(kname, kname, uuid))
print("### umount script ###")
for (kname,uuid) in data:
print("umount /dev/%s" %(kname))
이는 "/bin/lsblk"에 의존하고 출력을 마운트 및 마운트 해제를 위해 두 개의 쉘 스크립트에 저장하는 Python 스크립트입니다.
답변4
현재 fstab 백업:
#cp -a /etc/fstab /etc/fstab.bk
프로세스 출력lsblk-f사용sed그리고앗출력을 fstab으로 리디렉션합니다.
#lsblk -f|sed 's/\[SWAP]/swap /g'|awk '/(-)/{printf"UUID=%-36s %-23s %-7s defaults
0 0\n", $3, ($4==""?mnt"NR:$4), $2}'>/etc/fstab
호출하여 새 마운트 지점을 마운트합니다.
#mount -a