Tüm bölümleri Linux Mint üzerinde otomatik olarak sabit diske bağlama


14

Sorun
Linux Mint kurulumum var. Her önyüklememde, iki bölümü manuel olarak bilgisayarıma ( New volume Dve Drive C) monte etmem gerekiyor . Bunu yapmazsam, bu sürücüler hiçbir yerde görünmez. Bu süreci otomatikleştirmenin bir yolu olup olmadığını bilmek istiyorum.

Hedef
Her önyüklememde tüm bölümleri sabit diske otomatik olarak monte etmek.

Özellikleri
Windows XP SP3 ile Linux Mint 14 çift çizme



Kabul edilen önceki yanıtta tartışıldığı gibi, / etc / fstab dosyası bunu gerçekleştirmenize yardımcı olacaktır. Bir göz atın lütfen genfstab , önerildiği gibi, kullanımlar otomatik olarak bir tane oluşturmak için blkid.
Rany Albeg Wein

Yanıtlar:


15

Bunu dosya üzerinden yapabilirsiniz /etc/fstab. Bu bağlantıya bir göz atın . Bu eğitimde ayrıca iyi ayrıntılar var.

Örnek adımlar

Öncelikle sabit sürücülerin UUID'sini bulmanız gerekir. Bunun için komutu kullanabilirsiniz blkid. Örneğin:

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

Çıktı blkidYukarıdaki komuttan giriş eklerken sabit sürücüyü tanımlamak için kullanılabilir /etc/fstab.

Sonra /etc/fstabdosyayı düzenlemelisiniz . Bu dosyadaki satırlar aşağıdaki gibi düzenlenmiştir:

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

Şimdi dosyayı düzenleyin:

% sudo vi /etc/fstab

Ve bunun gibi bir dosya ekleyin, örneğin:

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

Dosyayı kaydedin ve ardından dosyayı mount -a komutla .

Windows bölümleri

Bir ntfs bölümü takmak için /etc/fstabdosyanızda şöyle bir şey yapmanız gerekir :

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

iki bölüm /dev/sda5ve dosya ve komutta dev/sda6listelenmez . neden? fstabblkid
IcyFlame

Tamam. anladım. çünkü o / medya orada bir windows bölümü
IcyFlame

Windows bölümlerini takmak için dev / sda * kullanmanız gerekir, ayrıca inandığım dosya sistemi türü için ntfs-3g belirtmeniz gerekir.
slm

14

Bunu en basit şekilde yapabilirsiniz. Şuraya git:

  • Menü -> Diskler (uygulama)
  • Takmak istediğiniz birimi seçin ve seçeneklerine tıklayın
  • "Montaj Seçeneklerini Düzenle" -> seçin ve sürücüde "Başlangıçta Montaj" ı seçtiğinizden emin olun.

Bazen gui mantıklıdır veya bunları yapmayı kolaylaştırır.
Ramsharan

Ah, Holly S ***, Güzel !!!
felipsmartins

Wysiwyg çözümü, yeni başlayanlar için daha iyi.
Sandburg

1

Monte edilecek çok fazla bölümünüz varsa, belki de benim gibi bir komut dosyasına ihtiyacınız vardır.


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




Bu bir python betiğidir, "/ bin / lsblk" e bağlıdır, çıkışı bağlama ve sayı için iki kabuk betiğine kaydeder.


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
Komutunuzun tam olarak ne yaptığını açıklamanız yararlı olacaktır.
dhag

Aynı satıra çok sayıda komut ve kontrol yapısı koymak, kodunuzu tek satırlık yapmaz . Anlaması gereksiz yere zorlaşıyor ...
John WH Smith

0

Mevcut fstab'ın yedeklenmesi:

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

sed ve awk kullanarak lsblk -f çıktısını işleyin ve çıktıyı fstab'a yönlendirin:

#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

çağırarak yeni bağlama noktalarını bağlayın

#mount -a
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.