วิธีการเมาท์อุปกรณ์ใน Linux?


75

ฉันอ่านทรัพยากรบางอย่างเกี่ยวกับคำสั่ง mount สำหรับติดตั้งอุปกรณ์บน Linux แต่ไม่มีสิ่งใดที่ชัดเจนเพียงพอ (อย่างน้อยสำหรับฉัน)

ในภาพรวมสิ่งที่คู่มือส่วนใหญ่ระบุทั้งหมด:

$ mount
(lists all currently mounted devices)

$ mount -t type device directory
(mounts that device)

for example (to mount a USB drive):
$ mount -t vfat /dev/sdb1 /media/disk

มีอะไรไม่ชัดเจนสำหรับฉัน:

  • จะรู้ได้อย่างไรว่าสิ่งที่จะใช้สำหรับ "อุปกรณ์" ในขณะที่$ mount -t type device directory? นั่นคือฉันจะรู้ได้อย่างไรว่าฉันควรใช้ "/ dev / sdb1" ในคำสั่งนี้$ mount -t vfat /dev/sdb1 /media/diskเพื่อเชื่อมต่อไดรฟ์ USB ของฉัน

  • พารามิเตอร์ "-t" กำหนดที่นี่คืออะไร พิมพ์?

ฉันอ่าน man page ( $ man mount) สองครั้ง แต่ฉันก็ยังขาดอะไรไปบ้าง กรุณาชี้แจง


@rozcietrzewiacz ฉันต้องยอมรับว่าใจของฉันทำงานไม่ถูกต้อง เมื่อ @Let_Me_Be ถูกอ้างถึง/dev/disk/by-idฉันคิดว่า "by-id" จะถูกแทนที่ด้วยบางสิ่งและควรได้รับการออกคำสั่ง ฉันไม่คิดเลยว่ามันจะเป็นไดเรกทอรี สิ่งนี้อาจเกิดขึ้นกับ Windows -> ผู้ใช้ Linux ในระยะเริ่มต้น! (หรือเป็นแค่ฉัน :))
its_me

@rozcietrzewiacz นั่นไม่ยุติธรรมเลย
Alex Chamberlain

4
-t typeวาง mountโดยปกติจะคิดออกและโดยทั่วไปหากไม่สามารถเป็นข้อบ่งชี้ที่สมเหตุสมผลว่าคุณกำลังทำอะไรผิด
อเล็กซ์แชมเบอร์เลน

3
@ AlexChamberlain ฉันเห็นว่าฉันถูกอุ้ม ฉันขอโทษที่ @its_me ฉันควรเขียนว่า "ถ้าคุณอ่านคู่มือจริงๆคุณจะไม่ถาม-tตัวเลือก" ส่วนอื่น ๆ ของคำถาม (วิธีการตรวจสอบอุปกรณ์ที่แสดงโดย/dev/รายการ) มีเหตุผลมาก
rozcietrzewiacz

คำตอบ:


81

คุณสามารถใช้ fdisk เพื่อให้ทราบว่าคุณมีพาร์ทิชันประเภทใดตัวอย่างเช่น:

fdisk -l

แสดง:

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63   204796619   102398278+   7  HPFS/NTFS
/dev/sda2       204797952   205821951      512000   83  Linux
/dev/sda3       205821952   976773119   385475584   8e  Linux LVM

ด้วยวิธีนี้คุณจะรู้ว่าคุณมีพาร์ทิชัน sda1,2 และ 3 อ็อพชัน -t เป็นชนิดระบบไฟล์ มันสามารถเป็น NTFS, FAT, EXT ในตัวอย่างของฉัน sda1 คือ ntfs ดังนั้นควรเป็นดังนี้:

mount -t ntfs /dev/sda1  /mnt/

อุปกรณ์ USB มักจะ vfat และ Linux มักจะขยาย


ฉันอยู่บน fedora VM (โฮสต์ Windows 7) ฉันเพียงแค่เสียบไดรฟ์ usd (Windows ไม่รู้จักเพราะ VM กำลังทำงานอยู่) $ fdisk -lและออกคำสั่ง แต่มันจะแสดงรายการระบบไฟล์ Linux และ Linux LVM (สองระบบเท่านั้น) ไม่ใช่ vfat, ntfs, hpfs หรือ ext เป็นต้น
its_me

บางทีนี่อาจไม่ใช่ปัญหาการเชื่อมต่อ แต่เป็นปัญหาในการจดจำอุปกรณ์ ลองดูที่ไฟล์ / var / log / message มันควรจะแสดงว่ามีปัญหากับอุปกรณ์ USB หรือไม่
ghm1014

ดังนั้นปกติแล้วฉันควรจะหามันบนระบบ linux ที่ทำงานอยู่: ปลั๊กอินไดรฟ์ปากกา (ตัวอย่าง) ออกคำสั่ง# fdisk -lและค้นหาอุปกรณ์ (/ dev / *) & ระบบไฟล์ (vfat, ntfs, hpfs, ext ฯลฯ ) . ขวา?
its_me

โดยปกติแล้วใช่ หากคุณใช้ gnome อยู่นั้นจะต่อกับ usb และฮาร์ดไดรฟ์ภายนอก มันแสดงหน้าต่างป๊อปอัปเช่นเดียวกับ Windows
ghm1014

หนึ่งข้อสงสัยสุดท้าย นี่เป็นไฟล์อุปกรณ์ระบบไฟล์ทั่วไปเท่านั้น: / dev / sd * หรือ / dev / hd * ใช้สำหรับฮาร์ดดิสก์, / dev / cdrom สำหรับซีดีรอมและ / dev / fd * สำหรับ floppies มีอะไรอีกไหม
its_me

17

ฉันเป็นสนิมจริง ๆ แล้วมันเริ่มกลับมา .. ถ้าไม่ตอบคำถามของคุณบางทีฉันอาจจะผิด ...

Alibi: นี่เป็นรุ่น Ubuntu 14 ไมล์สะสมของคุณอาจแตกต่างกันไป

ฉันใช้lsblkเพื่อรับคะแนนเมานต์ซึ่งแตกต่างจากmount สำหรับฉันlsblkอ่านง่ายกว่าmount

ตรวจสอบให้แน่ใจว่าคุณมีไดเรกทอรีที่สร้างขึ้นก่อนที่จะไปติดอุปกรณ์

sudo mkdir /{your directory name here}
sudo mount /dev/{specific device id} /{your directory name here that is already created}

คุณควรไปได้ดี แต่ตรวจสอบสิทธิ์ด้านความปลอดภัยในไดเรกทอรีใหม่นั้นเพื่อให้แน่ใจว่าเป็นสิ่งที่คุณต้องการ


7

วันนี้คุณสามารถใช้เส้นทาง verbose เพื่อติดตั้งอุปกรณ์เฉพาะ

ตัวอย่างเช่น:

mount /dev/disk/by-id/ata-ST31500341AS_9VS2AM04-part1 /some/dir
mount /dev/disk/by-id/usb-HTC_Android_Phone_SH0BTRX01208-0\:0 /some/dir

ฉันจะหาข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่ไหน ฉันยังไม่ได้พูดถึงเรื่อง "verbose" บน Linux ดังนั้นมันจึงสับสน
its_me

1
@Aahan ดีเหล่านี้เป็นเพียง symlinks /dev/sd*ไป มี/dev/disk/by-id(ID อุปกรณ์ / พาร์ติชัน), /dev/disk/by-uuid(อุปกรณ์ / พาร์ติชัน UUID - ไม่เป็นประโยชน์สำหรับการใช้งานด้วยตนเอง), /dev/disk/by-path(ขึ้นอยู่กับวิธีการเชื่อมต่ออุปกรณ์), /dev/disk/by-label(ฉลากพาร์ติชันถ้ามี)
Let_Me_Be

ฉันจะรับรายละเอียดเหล่านี้ได้ที่ไหน (ID พาร์ติชันเส้นทางอุปกรณ์ป้ายกำกับ ฯลฯ ) จากไหน
its_me

1
@Aahan ดีนั่นคือสิ่งที่อุปกรณ์รายงาน Id จะเป็นชื่ออุปกรณ์หรือรุ่นหรือหมายเลขซีเรียลหรือชุดค่าผสม Path จะเหมือนกัน แต่ได้รายงานวิธีการเชื่อมต่อดิสก์ดังนั้นจึงเป็นเช่นpci-0000:00:1f.2-scsi-3:0:0:0-part3(อุปกรณ์ pci 0000: 00: 1f.2, พอร์ตที่สาม, พาร์ทิชันที่สาม), ฉลากจะเป็นป้ายกำกับ uuid เป็นคอมพิวเตอร์ที่สร้างขึ้นเฉพาะ id (คุณจะใช้สิ่งนั้นหากคุณต้องการรูปแบบการระบุตัวตนที่จะไม่เปลี่ยนแปลง)
Let_Me_Be

1
เมื่อคุณอ้างถึง / dev / disk / by-id ฉันคิดว่า "by-id" จะถูกแทนที่ด้วยบางสิ่งและควรได้รับการออกคำสั่ง ฉันไม่คิดเลยว่ามันจะเป็นไดเรกทอรี ขอบคุณที่อดทนกับฉัน ฮ่า ๆ ฉันไร้สาระ :)
_

3

mount(คำสั่ง) มักจะระบุ "ประเภท" ของระบบไฟล์บนอุปกรณ์ ฉันคิดว่าส่วนที่ยากถ้าหาชื่อไฟล์อุปกรณ์ คุณเกือบจะต้องรู้จักระเบียบการตั้งชื่อดิสก์ไดรฟ์เพื่อที่จะคิดออก

ในกล่อง Arch linux ที่เป็นปัจจุบัน:

133 % ls /dev/sd??
/dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4  /dev/sdb1  /dev/sdb2

แต่นั่นไม่ได้ผลในกล่อง Slackware ที่เป็นผู้ใหญ่ (2.6.20.9):

1 % ls /dev/sd??
zsh: no matches found: /dev/sd??
2 % ls /dev/hd??
/dev/hda1  /dev/hda2

โดยไม่ทราบล่วงหน้าว่า/dev/sd*หรือ/dev/hd*มีแฟ้มอุปกรณ์ฮาร์ดดิสก์ที่คุณต้องใช้lspciหรือlsusbหรือบางสิ่งบางอย่างที่จะคิดออกชื่อแฟ้มอุปกรณ์ อุปกรณ์ USB มักจะเก็บข้อมูลไว้/var/log/messagesเพื่อช่วยให้คุณทราบว่าไฟล์อุปกรณ์ใดที่ udev กำหนดให้


1
วิธีการใช้fdisk -lเช่นคำตอบอื่น ๆ ที่กล่าวถึง? (โปรดดูความเห็นล่าสุดของฉันสำหรับคำตอบนั้น)
its_me

1

ใน Ubuntu 14 คุณยังสามารถใช้แอพ Disks:

ป้อนคำอธิบายรูปภาพที่นี่

คลิกแรกที่ดิสก์บนแผงด้านซ้ายแล้วคลิกที่พาร์ติชันบนแผงด้านขวา ด้านล่างของพาเนลด้านขวาแสดงรูปแบบสถานะการติดตั้งปัจจุบันและอื่น ๆ นอกจากนี้คุณยังสามารถใช้ GUI นี้เพื่อสร้าง / ลบ / จัดรูปแบบพาร์ติชัน


ทำไม 4GB ทั้งสองเหมือนกัน? และ OQ กำลังประสบปัญหาในการค้นหาอุปกรณ์ที่ถูกต้อง แล้วจัดรูปแบบยัง?
rastafile

1

ทำไมเราถึงมีหลายวิธีในการทำเช่นนี้ แต่ก็เป็นเรื่องที่เราต้องคำนึงถึงและไม่ทราบว่าระบบไฟล์ที่ใช้ในอุปกรณ์อาจขัดขวางเล็กน้อย แต่เราสามารถใช้ตัวเลือก "auto" เพื่อให้ความช่วยเหลือเล็กน้อย

mount -t auto /dev/sdb1 /media/pendrv

และพร้อมที่จะติดตั้งอุปกรณ์ของเรา: ที่/ media / pendrvพร้อมใช้งานจากนั้นใช้:

umount /media/pendrv

... เพื่อปล่อยอุปกรณ์


0

ฟอรัม ThoerX ตรวจสอบอุปกรณ์กับ fdisk -l

Partition the device as following :-
fdisk /dev/sda
d - Delete old partitions
n - New partition
select partition number
select start block
select end block
v - verify the new partition
w - write through

now fdisk - l should show /dev/sda1 with proper filesystem type (say ext4)
mount -t ext4 /dev/sda1 /myMountPoint

0

man mount "device" พูดถึงเป็นอุปกรณ์บล็อกแบบลอจิคัลที่มีระบบไฟล์อยู่

"อุปกรณ์" ยังหมายถึงผลิตภัณฑ์ (SSD คือไดรฟ์ HDD คือดิสก์ไดรฟ์ดีวีดีคือดิสก์ ODD คือดิสก์ไดรฟ์

บ่อยครั้งที่มันไม่สำคัญว่าอะไรกันแน่ แต่เมื่อพูดถึงการเมานต์ (หรือการจัดรูปแบบหรือการแบ่งพาร์ติชัน) มันมีความสำคัญเนื่องจากเป็นเรื่องสำคัญ

อย่างที่คุณเห็น, sda อยู่ข้าง sda1, 2, 3 ... และยัง sdb, sdc, แต่ละอันมีฉากกั้น ดังนั้นคุณสามารถไปผิดทั้งสองวิธี

เมื่อคุณmount /dev/sdb1 /media/disk/คุณเลือกพาร์ติชัน 1 จากดิสก์ sata "b" หาก sdb1 นั้นเป็นพาร์ทิชันปากกา USB แสดงว่าชื่อของจุดเชื่อมต่อของคุณไม่พูดมาก

คุณยังสามารถต่อเชื่อม RAM เพื่อสร้าง ramdisk หรือไฟล์ ("loop device") หรือ "อุปกรณ์" เสมือนทั้งหมดเช่น sysfs ซึ่งป็อปปูเลตไดเร็กทอรี / sys (mountpoint)

ความคิดในการติดตั้งและทำให้คำสั่งนั้นขึ้นอยู่กับแนวคิด (VFS ฯลฯ ) ด้วยองค์ประกอบหลักสามประการ:

  1. อุปกรณ์ Partition / บล็อก: เปรียบเทียบfdisk -l, และlsblk cat /proc/partitionsมันเป็นเรื่องยาก แต่ 80% เป็นเพียงมุมมองที่แตกต่างกัน
  2. ระบบไฟล์: การจัดรูปแบบเปลี่ยนพาร์ติชั่น 20GB เป็นไดเร็กตอรี่ว่างด้วยพื้นที่ว่าง 18GB เพื่อเติมไฟล์ ดูman mkfsและman mkfs.ext2(mkfs.FSTYPE)
  3. Mountpoint: นี่เป็นเพียง "เบ็ด" ไดเรกทอรี (ว่าง) ซึ่งสาขาใหม่ที่แนบมากับไดเรกทอรีด้านบน "/" โดยการผูกและการซ้อนคุณสามารถสร้างทรี FS ที่ซับซ้อน แต่เฉพาะกิจใด ๆmkdir xyzก็ใช้ได้เทคนิค

การติดตั้งทั้งหมดนี้ได้รับการกำหนดค่าโดย sysadmin ใน / etc / fstab ซึ่งอยู่ตรงกลาง ด้วยที่เก็บข้อมูลจำนวนมากในปัจจุบันทำให้สิ่งต่างๆซับซ้อนขึ้นเล็กน้อย

ในกรณีของปากกา USB มันเป็นโมดูลเคอร์เนลที่ปรากฏขึ้น / dev / sdb และพาร์ทิชันในเสี้ยววินาที

การทำงานแบบอัตโนมัติเพิ่มเติมทั้งหมดในการเสียบปลั๊กแบบง่ายก็คือต้องมีการประสานงานโดย udev และบางครั้งก็สมบูรณ์แบบด้วยเครื่องมือเพิ่มเติม Udev สามารถจัดการอุปกรณ์ทั้งหมดได้ไม่ใช่แค่ที่เก็บข้อมูล

เราติดอยู่ระหว่างความสะดวกสบายในการมีไอคอนใหม่ (หรือแม้แต่แค่ "อุปกรณ์" ที่มีชื่อดี) ปรากฏขึ้นโดยอัตโนมัติและวิธีที่เคอร์เนลกับระบบไฟล์ (เสมือน) มีระบบเพื่อเตรียมชิ้นส่วนอย่างเป็นระบบ แต่ด้วย RAID และการเข้ารหัสและ Linux "อุปกรณ์" ที่เก็บข้อมูลที่แตกต่างกันทั้งหมดต้องเพิ่มเลเยอร์บางอย่าง

ในท้ายที่สุดคุณต้องการเนื้อหาที่ปลายนิ้วของคุณ

โดยปกติคุณจะต้องระบุ ... อุปกรณ์ที่ถูกต้อง;) คุณสามารถls /dev/sd*ดูว่ามีอะไร: ตัวอักษรใดที่ระบุอุปกรณ์ของคุณ ...

จากนั้นพิมพ์

mkdir mydev
mount /dev/DEVICE mydev

(คุณสามารถออกจาก-t typeส่วน)


ง่ายต่อการอ่านและเป็นระบบในเวลาเดียวกัน "mount" เป็นแนวคิดที่สำคัญมาก คำตอบทั้งหมดเหล่านี้แสดงให้เห็นถึง "ปัญหา" โดยเฉพาะอย่างยิ่งสำหรับผู้เริ่มต้น "mount" เป็นคำสั่ง unix หลายมิติ ส้อมเท่านั้น () ซับซ้อนมากขึ้น
rastafile

คำวิจารณ์จาก wikipedia linux: ครั้งหนึ่งระบบ Linux จำเป็นต้องใช้สื่อแบบถอดได้เช่นฟลอปปี้ดิสก์และซีดีรอมเพื่อติดตั้งด้วยตนเองก่อนที่จะสามารถเข้าถึงได้ ขณะนี้สื่อการติดตั้งเป็นแบบอัตโนมัติในเกือบทุกดิสทริบิวชันด้วยการพัฒนา udev
rastafile
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.