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


14

Випуск
У мене встановлення Linux Mint. Кожен раз, коли я завантажуюся, мені потрібно вручну встановити два розділи на комп’ютері ( New volume Dі Drive C). Якщо я цього не роблю, ці диски ніде не з’являються. Хочу знати, чи є якийсь спосіб автоматизації цього процесу.

Мета.
Автоматичне встановлення всіх розділів на жорсткому диску при кожному завантаженні.

Характеристики
подвійного завантаження Linux Mint 14 з Windows XP SP3



Як було обговорено у прийнятій попередній відповіді, файл / etc / fstab допоможе вам досягти цього. Погляньте на genfstab, який, як пропонується, використовує blkid для автоматичного створення.
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

добре. зрозумів. це тому, що це розділ Windows, який є в / media
IcyFlame

У розділах Windows вам потрібно буде використовувати dev / sda * для їх монтажу, також вам потрібно вказати ntfs-3g для типу файлової системи, на який я вважаю.
slm

14

Зробити це можна найпростішим способом. Йти до:

  • Меню -> Диски (додаток)
  • Виберіть гучність, яку ви хочете встановити, і натисніть її параметри
  • Виберіть "Редагувати параметри кріплення" -> та переконайтесь, що ви вибрали "Монтувати при запуску" на диску.

Колись гуї має сенс, або це легко робити ці речі.
Рамшаран

О, Холлі 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.


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.