ฉันจะดู HDD / พาร์ติชั่นทั้งหมดที่มีอยู่ได้อย่างไร


246

ฉันพบ HDD ขนาด 6 GB IDE ในชั้นใต้ดินของฉัน ฉันต้องการที่จะเสียบมันและดูว่ามันอาจจะมีอะไรบ้าง ดูเหมือนว่าไดรฟ์นั้นจะได้รับการรองรับใน BIOS

ฉันไม่พบมันใน Ubuntu เพื่อดูไฟล์และ Ubuntu เป็นระบบปฏิบัติการเดียวในคอมพิวเตอร์เครื่องนั้น ฉันสงสัยว่า Ubuntu มีคุณสมบัติเทียบเท่ากับ Windows "My Computer" ซึ่งแสดงรายการไดรฟ์ / อุปกรณ์เก็บข้อมูลที่มีอยู่ทั้งหมดหรือไม่ โดยทั่วไป My Computer จะแสดง C: ซึ่งสามารถเปิดเพื่อดูไดเรกทอรีและไฟล์ทั้งหมดของคุณ ณ จุดนี้มันคล้ายกับโฟลเดอร์บ้านของ Ubuntu

จะดู / เลือกพาร์ติชั่นที่มีอยู่ทั้งหมดของไดรฟ์นั้นหรือ HDD ทั้งหมดที่มีอยู่ได้อย่างไรโดยไม่ต้องทำการฟอร์แมทหรือแก้ไขเนื้อหาใด ๆ


6
ใช้Gpartedแต่ด้วยความระมัดระวัง! นี่อาจเป็นเครื่องมือที่อันตราย ถ้าคุณแค่มองพาร์ติชั่นมันก็ดี

มีแนวโน้มที่ซ้ำกัน (อาจเป็นคำถามมาตรฐาน): ฮาร์ดดิสก์ตัวใดอยู่
Peter Mortensen

คำตอบ:


421

มีหลายวิธี lsblkแต่เป็นที่ชื่นชอบของฉันคือ นี่คือการสาธิต:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

ที่จะแสดงต่อไปนี้:

NAME   FSTYPE   SIZE MOUNTPOINT LABEL
sda           111.8G            
├─sda1 swap     121M [SWAP]     
└─sda2 ext4   111.7G /          
sdb             2.7T            
└─sdb1 ext4     2.7T            xtreme
sdc             3.7T            
└─sdc1 ext4     3.7T            titan

มันกำลังแสดง:

  • ชื่อของไดรฟ์และพาร์ติชันที่มี
  • ประเภทของระบบไฟล์
  • ขนาดของไดรฟ์ทั้งหมดที่มีและขนาดของพาร์ติชันแต่ละตัว
  • จุดเชื่อมต่อและหากมีให้ใช้ฉลากสำหรับพวกเขา

lsblk --helpคุณสามารถเล่นรอบกับตัวเลือกเป็นครั้งแรกโดยมองไปที่คนที่สามารถใช้ได้กับ ผมชอบlsblkเพราะวิธีที่เป็นมิตรในการแสดงข้อมูลที่ถ้าเทียบกับตัวอย่างหรือfdiskparted


21
ขอบคุณlsblkสามารถอ่านได้มากกว่า fdisk กับฉัน
Aditya MP

5
สมบูรณ์แบบไม่จำเป็นต้องติดตั้งอะไรเลย
Justin

6
ฉันไม่ต้องการsudoสิ่งนี้
szabgab

1
คุณจะติดป้ายฮาร์ดดิสก์ได้อย่างไร?
jonney

4
คำสั่งนี้ยังมีความสามารถในการแสดงผลเป็น json ด้วยlsblk --output-all --jsonซึ่งยอดเยี่ยม!
Zren

83

โซลูชันบรรทัดคำสั่ง:

  • เพื่อตรวจสอบไดรฟ์ที่ระบบของคุณสามารถดู:

    sudo fdisk -l
    

หากไดรฟ์ของคุณอยู่ในรายการคุณจะสามารถเห็นพาร์ติชันที่อยู่ในไดรฟ์เช่นนี้:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
...

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      208844      104391   83  Linux
/dev/sda2          208845     2313359     1052257+  82  Linux swap / Solaris
/dev/sda3         2313360   312576704   155131672+  83  Linux

จากนั้นสร้างไดเรกทอรีที่ใดที่หนึ่งและติดตั้งหนึ่งในพาร์ติชัน ตัวอย่างเช่นการติดตั้งพาร์ทิชัน FAT32 อยู่ที่dev/sda3อ่านอย่างเดียวลงในไดเรกทอรี/media/my_test_mountที่คุณสามารถทำได้

sudo mount -t cifs -o ro /dev/sda3 /media/my_test_mount

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

ดูman mountรายละเอียดที่


23

ฉันสอง Luis ในนั้นlsblk(8)อาจเป็นวิธีที่ตรงไปตรงมาและรัดกุมที่สุด มันง่ายมากที่จะเห็นภาพว่ามีอะไรอยู่และให้ข้อมูลทั้งหมดที่คุณต้องการได้อย่างรวดเร็ว:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

เพื่อความสะดวกของคุณนี่คือรายการของคอลัมน์ที่มีอยู่ทั้งหมดที่สามารถใช้ได้

Available columns:
       NAME  device name
      KNAME  internal kernel device name
    MAJ:MIN  major:minor device number
     FSTYPE  filesystem type
 MOUNTPOINT  where the device is mounted
      LABEL  filesystem LABEL
       UUID  filesystem UUID
         RO  read-only device
         RM  removable device
      MODEL  device identifier
       SIZE  size of the device
      STATE  state of the device
      OWNER  user name
      GROUP  group name
       MODE  device node permissions
  ALIGNMENT  alignment offset
     MIN-IO  minimum I/O size
     OPT-IO  optimal I/O size
    PHY-SEC  physical sector size
    LOG-SEC  logical sector size
       ROTA  rotational device
      SCHED  I/O scheduler name
    RQ-SIZE  request queue size
       TYPE  device type
   DISC-ALN  discard alignment offset
  DISC-GRAN  discard granularity
   DISC-MAX  discard max bytes
  DISC-ZERO  discard zeroes data

6

Nautilus (ที่คุณดูโฟลเดอร์หลักของคุณ) จะแสดงไดรฟ์ที่เมาท์ทั้งหมดในระบบ หากคอมพิวเตอร์รู้จักไดรฟ์คุณสามารถติดตั้งและเริ่มใช้งานไดรฟ์ได้

เส้นทางและข้อมูลเกี่ยวกับการติดตั้งไดรฟ์สามารถดูได้ที่นี่: https://help.ubuntu.com/community/Mount


6

ในการแสดงรายการฮาร์ดไดรฟ์ / ดิสก์ฉันใช้

sudo parted -l

เอาท์พุท:

Model: ATA Samsung SSD 850 (scsi) 
Disk /dev/sda: 250GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos

Number  Start   End    Size   Type      File system  Flags  
 1      1049kB  256MB  255MB  primary   ext2         boot
 2      257MB   120GB  120GB  extended  
 5      257MB   120GB  120GB  logical   lvm


Model: Linux device-mapper (linear) (dm) 
Disk /dev/mapper/ubuntu--vg-swap_1: 8573MB 
Sector size (logical/physical): 512B/512B 
Partition Table: loop

Number  Start  End     Size    File system     Flags  
 1      0.00B  8573MB  8573MB  linux-swap(v1)


Model: Linux device-mapper (linear) (dm) 
Disk /dev/mapper/ubuntu--vg-root: 111GB 
Sector size (logical/physical): 512B/512B 
Partition Table: loop

Number  Start  End    Size   File system  Flags
 1      0.00B  111GB  111GB  ext4

จากนั้นเมื่อต้องการแสดงรายการพาร์ติชันตามที่คนอื่น ๆ แนะนำให้คุณสามารถใช้:

sudo lsblk -f

ซึ่งจะบอกคุณประเภทพาร์ติชันระบบไฟล์


partedให้ข้อมูลฮาร์ดแวร์กับฉันและlsblkให้ข้อมูลพาร์ติชันแก่ฉัน ดูเหมือนว่าฉันต้องการ น่าเสียดายที่ไม่มีคำสั่งเดียวที่จะบันทึกทุกอย่างเพื่อรองรับการกู้คืนความเสียหาย ขอขอบคุณ!
Suncat2000

4

วิธีการแก้ปัญหาด้านล่างนี้เป็นวิธีที่ง่ายชัดเจนและเป็น GUI และแสดงให้คุณเห็นอย่างชัดเจนถึงสิ่งที่คุณได้วางไว้บน HDD ของคุณ:

  1. ไปที่: "เครื่องมือระบบ" ในรายการการเปิดตัวหลักของคุณ
  2. เปิดตัว "GParted"
  3. ป้อนรหัสผ่านของคุณ (ควรเป็นรหัสผ่านของคุณหากคุณเป็นผู้ดูแลระบบ) คุณจะเห็นเลย์เอาต์ HDD ขนาดพาร์ติชันและจำนวนเงินที่ใช้
  4. ออกจากแอปพลิเคชัน GParted

ข้อควรระวัง: อย่าเปลี่ยนแปลงสิ่งใดนอกจากว่าคุณรู้ว่าคุณกำลังทำอะไร!


2

(อาคารตามคำแนะนำก่อนหน้าเกี่ยวกับlsblk)

สำหรับนักพิมพ์แบบขี้เกียจ (และหากคุณไม่ต้องการขนาด) คุณสามารถใช้:

sudo lsblk -f

ซึ่งเหมือนกับการใช้ -o NAME,FSTYPE,LABEL,MOUNTPOINT

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

NAME                 FSTYPE             LABEL MOUNTPOINT
sda
└─sda1               ntfs             TOSHIBA
sdb
└─sdb1               LVM2_member
  └─root-root (dm-0) ext4                     /

2

ใช้บรรทัดคำสั่งต่อไปนี้ซึ่งจะให้ภาพรวมที่ดีของพาร์ติชั่น (ตำแหน่งขนาดพื้นที่ว่างและจุดเมานท์)

df -h
sudo parted -ls
sudo lsblk -f
sudo lsblk -m

หากหน้าต่างเทอร์มินัลของคุณกว้างพอ (เช่น 130 ตัวอักษร) คุณสามารถรวมlsblkคำสั่งได้

sudo lsblk -fm

1

ตอบกลับล่าช้า แต่ลองทำสิ่งนี้:

  1. เปิดไฟล์ (แอปพลิเคชันจากเส้นประหรือเปิดโฟลเดอร์)
  2. ไปที่ "ระบบไฟล์"
  3. ไปที่ "สื่อ"
  4. เข้าสู่ผู้ใช้ของคุณเช่น Lola Chang (จาก Ubuntu.com)
  5. ควรแสดงรายการไดรฟ์ที่แนบมาทั้งหมดไม่รวม SDA 1 (ในกรณีของคุณอาจเป็น C :)

1

ฉันได้สร้าง regex เพื่อช่วยเหลือผู้ที่ต้องการอ่านข้อมูลนี้ในแอปพลิเคชั่นบางตัว

หากต้องการทำเช่นนั้นคำสั่ง lsblk จะมีประโยชน์มากขึ้นเมื่อคุณใช้คำสั่ง "-P" นี่คือตัวอย่าง:

$ lsblk -P -o KNAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
KNAME="sda" FSTYPE="" SIZE="80G" MOUNTPOINT="" LABEL="" MODEL="VBOX HARDDISK   "
KNAME="sda1" FSTYPE="" SIZE="243M" MOUNTPOINT="/boot" LABEL="" MODEL=""
KNAME="sda2" FSTYPE="" SIZE="1K" MOUNTPOINT="" LABEL="" MODEL=""
KNAME="sda5" FSTYPE="" SIZE="79.8G" MOUNTPOINT="" LABEL="" MODEL=""
KNAME="dm-0" FSTYPE="" SIZE="79G" MOUNTPOINT="/" LABEL="" MODEL=""
KNAME="dm-1" FSTYPE="" SIZE="768M" MOUNTPOINT="[SWAP]" LABEL="" MODEL=""
KNAME="sr0" FSTYPE="" SIZE="1024M" MOUNTPOINT="" LABEL="" MODEL="CD-ROM          "
KNAME="sr1" FSTYPE="" SIZE="1024M" MOUNTPOINT="" LABEL="" MODEL="CD-ROM          "

คุณสามารถอ่านผลลัพธ์นี้ใช้ regex บางอย่างเช่น

/KNAME=\"(.*)\" FSTYPE=\"(.*)\" SIZE=\"(.*)\" MOUNTPOINT=\"(.)*\" LABEL=\"(.*)\" MODEL=\"(.*)\"/g

http://regex101.com/r/uX5eG3/1

หากคุณไม่ต้องการขนาดของพาร์ติชันคุณสามารถใช้ mount -l เพื่อ

$ mount -l
/dev/mapper/precise32-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/sda1 on /boot type ext2 (rw)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
/vagrant on /vagrant type vboxsf (uid=1000,gid=1000,rw)

และอ่านมันโดยใช้ Regex บางอย่างเช่นนั้น

/(.*) on (.*) type (.*) \((.*)\)/g

http://regex101.com/r/nE4pQ9/1

หากคุณกำลังทำเช่นนั้นในโหนดคุณสามารถแปลงสตริงเป็นอาร์เรย์ของการเกิดขึ้นโดยใช้รหัสบางอย่างเช่น

stdout.split("\n").map(function(x){return x.split(/(.*) on (.*) type (.*) \((.*\))/g)}); 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.