Linux Mint에서 자동으로 모든 파티션을 하드 디스크에 마운트


14

문제
Linux Mint를 설치했습니다. 부팅 할 때마다 두 개의 파티션을 컴퓨터에 수동으로 마운트해야합니다 ( New volume DDrive C). 이 작업을 수행하지 않으면이 드라이브가 어디에도 나타나지 않습니다. 이 프로세스를 자동화 할 수있는 방법이 있는지 알고 싶습니다.

목표
부팅 할 때마다 하드 디스크의 모든 파티션을 자동으로 마운트합니다.

사양
윈도우 XP SP3와 리눅스 민트 14 듀얼 부팅



허용 된 이전 답변에서 설명한대로 / etc / fstab 파일은이를 수행하는 데 도움이됩니다. 제안 된대로 blkid를 사용하여 자동으로 생성하는 genfstab 을 살펴보십시오 .
Rany Albeg Wein

답변:


15

파일을 통해이 작업을 수행 할 수 있습니다 /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명령을 사용 하여 파일을 재 처리하십시오 .

Windows 파티션

ntfs 파티션을 마운트하려면 /etc/fstab파일 에서 다음과 같은 작업을 수행해야 합니다.

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2

두 개의 파티션 /dev/sda5과은 dev/sda6에 나열되지 않은 fstab파일과에서 blkid명령. 왜?
IcyFlame

괜찮아. 알았어 그것은 / media에있는 Windows 파티션이기 때문입니다
IcyFlame

Windows 파티션을 마운트하려면 dev / sda *를 사용해야하고, 파일 시스템 유형으로 ntfs-3g를 지정해야합니다.
slm

14

가장 간단한 방법으로이 작업을 수행 할 수 있습니다. 이동 :

  • 메뉴-> 디스크 (앱)
  • 마운트하려는 볼륨을 선택하고 해당 옵션을 클릭하십시오
  • "마운트 옵션 편집"->을 선택하고 드라이브에서 "시작시 마운트"를 선택하십시오.

때때로 gui는 의미가 있거나 이런 일을하기가 쉽습니다.
Ramsharan

홀리 S ***
felipsmartins

초보자에게 더 나은 Wysiwyg 솔루션.
Sandburg

1

마운트 할 파티션이 많으면 나처럼 스크립트가 필요할 수 있습니다.


# ! 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"에 따라 마운트 및 마운트 해제를 위해 두 개의 쉘 스크립트에 출력을 저장합니다.


0
for i in $(lsblk -r |awk '{ print $1 }'|grep -v md |grep -v loop |grep .*[[:digit:]]|sort|uniq;); 
do
    if [ -z  "$(grep  $i /proc/mounts)" ]
    then  
        mkdir /mnt/$i;
        mount /dev/$i /mnt/$i
    fi
done

2
명령이하는 일을 정확하게 설명 할 수 있다면 도움이 될 것입니다.
dhag

동일한 명령 줄에 일련의 명령과 제어 구조를 적용한다고해서 실제로 코드를 줄로 만드는 것은 아닙니다 . 그것은 이해하기 어렵게 만든다 ...
John WH Smith

0

현재 fstab 백업 :

#cp -a /etc/fstab /etc/fstab.bk

sedawk를 사용하여 lsblk -f 의 출력을 처리하고 출력 을 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.