Linux Mintでハードディスク上のすべてのパーティションを自動的にマウントする


14

問題
Linux Mintをインストールしています。起動するたびに、2つのパーティションをコンピューターに手動でマウントする必要があります(New volume DおよびDrive C)。これを行わないと、これらのドライブはどこにも表示されません。このプロセスを自動化する方法があるかどうか知りたいです。

目標
ブートするたびに、ハードディスク上のすべてのパーティションを自動的にマウントします。

スペック
Linux Mint 14デュアルブートとWindows XP SP3



受け入れられた以前の回答で説明したように、/ etc / fstabファイルはそれを実現するのに役立ちます。見てくださいgenfstab、示唆されているように、用途が自動的に作成するBLKID。
ラニーアルベグワイン

回答:


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

2つのパーティション/dev/sda5dev/sda6に記載されていないfstabファイルとでblkidコマンド。どうして?
IcyFlame

はい。わかった。これは、/ mediaにあるWindowsパーティションだからです
-IcyFlame

dev / sda *を使用してそれらをマウントする必要があるWindowsパーティション。また、信じているファイルシステムタイプにntfs-3gを指定する必要があります。
slm

14

最も簡単な方法でこれを行うことができます。に行く:

  • メニュー->ディスク(アプリ)
  • マウントするボリュームを選択し、そのオプションをクリックします
  • [マウントオプションの編集]を選択し、ドライブで[起動時にマウント]を選択していることを確認します。

GUIが理にかなっている場合や、これらのことを簡単に行える場合があります。
ラムシャラン

ああ、ホリーS ***、ニース!!!
-felipsmartins

Wysiwygソリューション、初心者に適しています。
サンドバーグ

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




これはpythonスクリプトで、 "/ bin / lsblk"に依存し、mountおよびumount用の2つのシェルスクリプトに出力を保存します。


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
コマンドが何をするのかを正確に説明できれば助かります。
ダグ

コマンドと制御構造の巨大なシーケンスを同じ行に配置しても、実際にはコードがワンライナーになりません。それはちょうど...それはunecessarily難しく理解することができます
ジョン・WHスミス

0

現在のfstabのバックアップ:

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

sedおよびawkを使用して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.