Pasang semua partisi pada hard disk secara otomatis di Linux Mint

14

Masalah
Saya memiliki instalasi Linux Mint. Setiap kali saya boot, saya perlu me-mount dua partisi secara manual di komputer saya ( New volume Ddan Drive C). Jika saya tidak melakukan ini, drive ini tidak muncul di mana pun. Saya ingin tahu apakah ada cara untuk mengotomatisasi proses ini.

Sasaran
Secara otomatis memasang semua partisi pada hard disk setiap kali saya boot.

Spesifikasi
Linux Mint 14 dual boot dengan Windows XP SP3

IcyFlame
sumber
Seperti dibahas dalam jawaban yang diterima sebelumnya, file / etc / fstab akan membantu Anda mencapai itu. Silakan lihat genfstab yang, seperti yang disarankan, menggunakan blkid untuk membuatnya secara otomatis.
Rany Albeg Wein

Jawaban:

15

Anda dapat melakukan ini melalui file /etc/fstab. Lihatlah tautan ini . Tutorial ini juga memiliki detail yang bagus.

Contoh langkah

Pertama, Anda perlu mengetahui UUID dari hard drive. Anda dapat menggunakan perintah blkiduntuk ini. Sebagai contoh:

% 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" 

Output dari blkidperintah di atas dapat digunakan untuk mengidentifikasi hard drive saat menambahkan entri /etc/fstab.

Selanjutnya Anda perlu mengedit /etc/fstabfile. Baris-baris dalam file ini disusun sebagai berikut:

UUID={YOUR-UID}    {/path/to/mount/point}               {file-system-type}    defaults,errors=remount-ro 0       1

Sekarang edit file:

% sudo vi /etc/fstab

Dan tambahkan file seperti ini, misalnya:

UUID=41c22818-fbad-4da6-8196-c816df0b7aa8  /disk2p2      ext3    defaults,errors=remount-ro 0       1

Simpan file dan ulangi file dengan mount -aperintah.

Partisi Windows

Untuk memasang partisi ntfs Anda harus melakukan sesuatu seperti ini di /etc/fstabfile Anda :

/dev/sda2   /mnt/excess ntfs-3g    permissions,locale=en_US.utf8    0   2
slm
sumber
dua partisi /dev/sda5dan dev/sda6tidak terdaftar dalam fstabfile dan blkidperintah. Mengapa?
IcyFlame
baik. Saya mendapatkannya. itu karena itu adalah partisi windows yang ada di / media
IcyFlame
Partisi Windows Anda harus menggunakan dev / sda * untuk memasangnya, dan Anda juga harus menentukan ntfs-3g untuk tipe-sistem file yang saya percaya.
slm
14

Anda dapat melakukan ini dengan cara paling sederhana. Pergi ke:

  • Menu -> Disk (aplikasi)
  • Pilih volume yang ingin Anda pasang, dan klik pada opsinya
  • Pilih "Edit Mount Options" -> Dan pastikan Anda memilih "Mount at Startup" di drive.
Jay
sumber
Kadang gui masuk akal atau mudah untuk melakukan hal-hal ini.
Ramsharan
Oh, Holly S ***, Bagus !!!
felipsmartins
Solusi Wysiwyg, lebih baik untuk pemula.
Sandburg
1

Jika Anda memiliki banyak partisi untuk dipasang, mungkin Anda memerlukan skrip seperti yang saya lakukan.


# ! 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))




Ini adalah skrip python, tergantung pada "/ bin / lsblk", simpan output ke dua skrip shell untuk mount dan umount.

neoedmund
sumber
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
pengecut anonim
sumber
2
Akan sangat membantu jika Anda bisa menjelaskan dengan tepat apa yang dilakukan perintah Anda.
Dhag
Menempatkan urutan besar perintah dan struktur kontrol pada baris yang sama tidak benar-benar membuat kode Anda satu baris . Itu hanya membuatnya lebih sulit untuk dipahami ...
John WH Smith
0

Cadangan fstab saat ini:

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

memproses output lsblk -f menggunakan sed dan awk dan redirect output ke 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 poin mount baru dengan memohon

#mount -a
AVA
sumber