Автоматическое монтирование всех разделов на жестком диске в Linux Mint


14


У меня проблема с установкой Linux Mint. Каждый раз, когда я загружаюсь, мне нужно вручную смонтировать два раздела на моем компьютере ( 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

два раздела /dev/sda5и dev/sda6не указаны в fstabфайле и в blkidкоманде. Почему?
IcyFlame

Ладно. я понял. это потому, что это раздел Windows, который находится в / media
IcyFlame

Разделы Windows, вам нужно будет использовать dev / sda * для их монтирования, а также вам нужно будет указать ntfs-3g для типа файловой системы, который я считаю.
СЛМ

14

Вы можете сделать это самым простым способом. Перейти к:

  • Меню -> Диски (приложение)
  • Выберите том, который вы хотите смонтировать, и нажмите на его параметры
  • Выберите «Изменить параметры монтирования» -> и убедитесь, что вы выбрали «Монтировать при запуске» на диске.

Иногда графический интерфейс имеет смысл, или он позволяет легко делать эти вещи.
Рамшаран

О, Холли С ***, Здорово !!!
фелипсмартинс

Решение 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.


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
Было бы полезно, если бы вы могли точно объяснить, что делает ваша команда.
дхаг

Помещение огромной последовательности команд и управляющих структур в одну строку на самом деле не делает ваш код однострочным . Это только делает его излишне трудным для понимания ...
Джон У. С. Смит

0

Резервное копирование текущего fstab:

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

обработать вывод lsblk -f с помощью sed и awk и перенаправить вывод в 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.