ฉันสามารถปรับขนาดพาร์ติชั่นรูทได้โดยไม่ต้องถอนการติดตั้งและติดตั้ง Linux ใหม่อีกครั้ง (หรือสูญเสียข้อมูล)?


17

ฉันเริ่มใช้เครื่องที่ติดตั้งทั้ง Debian และ Windows 7 แล้ว อย่างไรก็ตามหลังจากติดตั้งบางโปรแกรมฉันเริ่มได้รับข้อความว่ามีพื้นที่ไม่เพียงพอ ฉันรู้ว่าระบบมีพื้นที่ฮาร์ดดิสก์มากกว่า 1TB โดยรวมและทำการวิจัยบางอย่าง ดูเหมือนว่าพาร์ติชันรูทมีเพียง 5GB

มีวิธีใดที่จะจัดสรรพื้นที่ดิสก์เพิ่มเติมให้กับพาร์ติชันเฉพาะโดยไม่ต้องติดตั้ง Linux อีกหรือไม่

ด้านล่างคุณจะพบผลลัพธ์ของคำสั่งสองสามคำที่ฉันเรียกใช้:

fdisk -l

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13       53507   429687500    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3           53507       77826   195340289    5  Extended
Partition 3 does not end on cylinder boundary.
/dev/sda5           53507       53537      243712   83  Linux
/dev/sda6           53538       77826   195095552   8e  Linux LVM

Disk /dev/sdb: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fe

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               2       62261   500097657+   f  W95 Ext'd (LBA)
/dev/sdb5               2       62261   500097656+   7  HPFS/NTFS

Disk /dev/dm-0: 4999 MB, 4999610368 bytes
255 heads, 63 sectors/track, 607 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 1996 MB, 1996488704 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn't contain a valid partition table

Disk /dev/dm-2: 20.0 GB, 19998441472 bytes
255 heads, 63 sectors/track, 2431 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-2 doesn't contain a valid partition table

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/HU-root   4.6G  4.4G   32M 100% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                  2.0G  220K  2.0G   1% /dev
tmpfs                 2.0G  356K  2.0G   1% /dev/shm
/dev/sda5             231M   22M  198M  10% /boot
/dev/mapper/HU-home    19G  751M   17G   5% /home

แก้ไข (ข้อมูลเพิ่มเติมตามความคิดเห็น):

# mount
/dev/mapper/HU-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda5 on /boot type ext3 (rw)
/dev/mapper/HU-home on /home type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               HU
  PV Size               186.06 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              47630
  Free PE               41194
  Allocated PE          6436
  PV UUID               wmEFAc-eSb6-r3qo-jIjy-vuKH-v9JK-eQfJFZ

ในฐานะ sidenote ฉันขอขอบคุณข้อเสนอแนะสำหรับหนังสือดี ๆ ที่อธิบายหัวข้อเหล่านี้ในเชิงลึก (ระบบไฟล์ระบบปฏิบัติการต่าง ๆ เข้าใจระบบไฟล์ ฯลฯ ) อย่างไร


คุณเป็นระบบไฟล์ประเภทใด/? (โพสต์เอาท์พุทของmountหรือเนื้อหาของ/etc/fstabถ้าคุณไม่รู้) นอกจากนี้เอาต์พุตของpvdisplay(ในฐานะรูท) จะน่าสนใจเพราะคุณดูเหมือนจะใช้ LVM
เสื่อ

เพิ่มผลลัพธ์ของคำสั่งที่คุณกล่าวถึงแล้ว! ขอบคุณ :)
F1234k

สิ่งที่คุณพยายามทำนั้นเป็นไปได้ แต่ใช้ LVM เท่านั้น หน้าจอ df ที่คุณแสดงดูเหมือนจะใช้ LVM หากใช้พื้นที่ทั้งหมดในกลุ่มวอลุ่ม "HU" คุณจะต้องลดขนาดโลจิคัลวอลุ่ม "home" ก่อน การย่อขนาดเป็นการดำเนินการที่เป็นอันตรายมากกว่าในแง่ของการสูญเสียข้อมูล
jordanm

วิธีที่ง่ายกว่าและปลอดภัยกว่า: สร้างพาร์ติชันใหม่เช่น/usrและย้ายที่อยู่ปัจจุบันของคุณ / usr
hhaamu

คำตอบ:


17

คำเตือน : ไม่ควรทำอะไรกับระบบไฟล์


อย่ารันขั้นตอนใด ๆ ต่อไปนี้หากคุณไม่แน่ใจว่าตัวเอง/สะอาด หากคุณไม่แน่ใจให้เรียกใช้สิ่งต่อไปนี้ (ในฐานะรูท):

# touch /forcefsck

และรีบูต นี่จะเป็นการfsckแบ่งพาร์ติชั่นทั้งหมดของคุณให้ปลอดภัย


อย่างที่กล่าวไว้เนื่องจากคุณใช้ LVM สำหรับอุปกรณ์รูทและext3ระบบไฟล์คุณจึงสามารถขยายได้ออนไลน์ ก่อนที่จะเริ่มให้แน่ใจว่าคุณได้resize2fsติดตั้ง e2fsprogsถ้าไม่ได้ก็มักจะอยู่ในแพคเกจที่เรียกว่า (หากคุณไม่สามารถติดตั้งได้เนื่องจากคุณมีพื้นที่ไม่เพียงพอให้ลองล้างข้อมูล/var/logเล็กน้อย)

ก่อนอื่นคุณต้องเพิ่มวอลลุ่มที่มี (เป็นรูท):

# lvextend -L+2G /dev/mapper/HU-root

(ปรับ2Gส่วนตามที่คุณต้องการ - คือจำนวนพื้นที่ที่คุณต้องการเพิ่ม)

จากนั้นคุณต้องปรับขนาดระบบไฟล์ สามารถทำได้ทางออนไลน์ด้วยresize2fs:

# resize2fs /dev/mapper/HU-root

อาจใช้เวลาสองสามวินาที / นาที อย่าขัดจังหวะ ทำรีบูตอีกครั้งในตอนท้ายอาจเป็นไปได้กับอีก/forcefsckอันหากคุณต้องการ ไม่จำเป็น แต่ฉันก็มักจะทำต่อไป


1
สิ่งนี้ใช้ไม่ได้สำหรับฉัน:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

ใช้งานได้กับ LVM เท่านั้นดูเหมือนว่าคุณกำลังพยายามปรับขนาดพาร์ติชันจริง
Mat

6

คุณมีพื้นที่ว่างใน PV สำหรับจัดสรรให้กับ / พาร์ติชัน คุณสามารถใช้สิ่งต่อไปนี้เพื่อเพิ่มพื้นที่ของ / dev / mapper / HU-root

lvextend -L +10G /dev/mapper/HU-root
e2resize /dev/mapper/HU-root

คำสั่งดังกล่าวจะเพิ่ม 10G จากกลุ่มวอลุ่มของคุณไปยังโลจิคัลวอลุ่ม HU-root คำสั่ง e2resize จะ "ขยาย" ระบบไฟล์ ext3 เพื่อใช้พื้นที่ว่างที่เหลืออยู่


2
ฉันอาจไม่ใช่คนเดียวที่ไม่ได้รับมันทันที: PV = "ปริมาณทางกายภาพ"
Étienne Reinstate Monica

สิ่งนี้ใช้ไม่ได้สำหรับฉัน:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

@ 8bitjunkie sda1เป็นอุปกรณ์จริงไม่ใช่โลจิคัลวอลุ่ม
jordanm

-1

จากlvdisplayเอาต์พุตเลือกพา ธ สำหรับพาร์ติชันรูทที่คุณพยายามปรับขนาด / ขยาย

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