การติดตั้งพาร์ติชั่นทั้งหมดบนฮาร์ดดิสก์โดยอัตโนมัติบน Linux Mint


14

ปัญหา
ฉันมีการติดตั้ง Linux Mint ทุกครั้งที่ฉันบู๊ตฉันต้องติดตั้งพาร์ติชันทั้งสองด้วยตนเองบนคอมพิวเตอร์ของฉัน ( New volume DและDrive C) ถ้าฉันไม่ทำสิ่งนี้ไดรฟ์เหล่านี้จะไม่ปรากฏขึ้นที่ใดก็ได้ ฉันต้องการทราบว่ามีวิธีที่จะทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติหรือไม่

เป้าหมายการ
ติดตั้งพาร์ติชันทั้งหมดบนฮาร์ดดิสก์โดยอัตโนมัติทุกครั้งที่ฉันบู๊ต

รายละเอียด
ลินุกซ์มิ้นท์ 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

ตกลง. ฉันเข้าใจแล้ว. มันเป็นเพราะมันเป็นพาร์ทิชันหน้าต่างที่มีในสื่อ /
IcyFlame

พาร์ติชัน Windows ที่คุณจะต้องใช้ dev / sda * เพื่อติดตั้งนอกจากนี้คุณจะต้องระบุ ntfs-3g สำหรับระบบไฟล์ที่ฉันเชื่อ
slm

14

คุณสามารถทำได้โดยวิธีที่ง่ายที่สุด ไปที่:

  • เมนู -> ดิสก์ (แอพ)
  • เลือกระดับเสียงที่คุณต้องการติดตั้งและคลิกที่ตัวเลือก
  • เลือก "แก้ไขตัวเลือกการเมานท์" -> และให้แน่ใจว่าคุณเลือก "เมานต์เมื่อเริ่มต้น" ในไดรฟ์

บางครั้ง GUI ก็สมเหตุสมผลหรือทำสิ่งเหล่านี้ได้ง่าย
Ramsharan

Oh, Holly S ***, นีซ !!!
felipsmartins

วิธีการแก้ปัญหา Wysiwyg ที่ดีกว่าสำหรับผู้เริ่มต้น
Sandburg

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




มันเป็นสคริปต์หลามขึ้นอยู่กับ "/ bin / lsblk" บันทึกผลลัพธ์ไปยังสองสคริปต์เชลล์สำหรับการติดตั้งและ 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
มันจะมีประโยชน์ถ้าคุณสามารถอธิบายได้อย่างชัดเจนว่าคำสั่งของคุณทำอะไร
dhag

การวางลำดับคำสั่งและโครงสร้างการควบคุมจำนวนมากในบรรทัดเดียวกันนั้นไม่ได้ทำให้โค้ดของคุณเป็นซับไลน์จริงๆ มันทำให้เข้าใจยากเกินความจำเป็น ...
John WH Smith

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.