Tôi có thể thay đổi kích thước phân vùng gốc mà không cần gỡ cài đặt và cài đặt lại Linux (hoặc mất dữ liệu) không?


17

Tôi đã bắt đầu sử dụng máy có cài đặt cả Debian và Windows 7. Tuy nhiên, sau khi cài đặt một số chương trình, tôi bắt đầu nhận được thông báo rằng không có đủ dung lượng. Tôi biết rằng hệ thống có tổng dung lượng ổ cứng hơn 1TB và đã thực hiện một số nghiên cứu. Có vẻ như phân vùng gốc chỉ có 5GB.

Có cách nào để phân bổ thêm dung lượng đĩa cho phân vùng cụ thể mà không cần cài đặt lại Linux không?

Dưới đây bạn có thể tìm thấy kết quả của một vài lệnh mà tôi đã thực hiện:

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

Chỉnh sửa (thông tin bổ sung dựa trên nhận xét):

# 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

Là một sidenote, tôi cũng sẽ đánh giá cao bất kỳ đề xuất nào cho những cuốn sách hay giải thích sâu sắc những chủ đề này (hệ thống tệp, cách các hệ điều hành khác nhau hiểu hệ thống tệp, v.v.).


Loại hệ thống tập tin của bạn là /gì? (Đăng kết quả đầu ra mounthoặc nội dung /etc/fstabnếu bạn không biết.) Ngoài ra, đầu ra của pvdisplay(với quyền root) sẽ rất thú vị vì dường như bạn đang sử dụng LVM.
Mat

Kết quả của các lệnh mà bạn đề cập đã được thêm vào! Cảm ơn :)
F1234k

Những gì bạn đang cố gắng làm là có thể, nhưng chỉ sử dụng LVM. Màn hình df bạn đã hiển thị dường như đang sử dụng LVM. Nếu tất cả không gian trong nhóm âm lượng "HU" được sử dụng, trước tiên bạn sẽ cần thu nhỏ âm lượng logic "nhà". Thu hẹp là một hoạt động nguy hiểm hơn nhiều về mặt mất dữ liệu so với phát triển một hệ thống tập tin.
jordanm

Giải pháp dễ dàng hơn, an toàn hơn: Tạo một phân vùng mới, ví dụ /usr, và di chuyển hiện tại / usr của bạn đến đó.
hhaamu

Câu trả lời:


17

Cảnh báo : làm bất cứ điều gì cho các hệ thống tập tin của bạn mà không có bản sao lưu có thể biết được là không nên.


Không chạy bất kỳ bước nào sau đây nếu bạn không chắc chắn mình /sạch sẽ. Nếu bạn không chắc chắn, hãy chạy như sau (dưới dạng root):

# touch /forcefsck

và khởi động lại. Điều này sẽ làm một fscktrong tất cả các phân vùng của bạn, để ở bên an toàn.


Điều đó đang được nói, vì bạn đang sử dụng LVM cho thiết bị gốc và ext3hệ thống tệp, bạn có thể mở rộng trực tuyến. Trước khi bạn bắt đầu, hãy chắc chắn rằng bạn đã resize2fscài đặt. Nếu không, nó thường trong một gói được gọi e2fsprogs. (Nếu bạn không thể cài đặt nó vì bạn không có đủ chỗ, hãy thử làm một chút dọn dẹp /var/logchẳng hạn.)

Trước tiên, bạn mở rộng âm lượng cơ bản với (như root):

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

(Điều chỉnh 2Gphần bạn muốn - đó là lượng không gian bạn muốn thêm.)

Sau đó, bạn cần thay đổi kích thước hệ thống tập tin. Điều này có thể được thực hiện trực tuyến với resize2fs:

# resize2fs /dev/mapper/HU-root

Điều này có thể mất vài giây / phút. Đừng ngắt lời. Thực hiện khởi động lại khác vào cuối, có thể với một cái khác /forcefsck, nếu bạn muốn. Nó không cần thiết, nhưng tôi vẫn thường làm nó.


1
Điều này không hiệu quả với tôi:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

Điều này chỉ hoạt động trên LVM, có vẻ như bạn đang cố gắng thay đổi kích thước phân vùng thực.
Mat

6

Bạn có không gian trống có sẵn trong PV để phân bổ cho / phân vùng. Bạn có thể sử dụng cách sau để tăng không gian của / dev / mapper / HU-root.

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

Lệnh trên sẽ thêm 10G từ Nhóm âm lượng của bạn vào khối lượng logic gốc HU. Lệnh e2resize sẽ "phát triển" hệ thống tập tin ext3 để sử dụng không gian trống còn lại.


2
Tôi có thể không phải là người duy nhất không nhận được nó ngay lập tức: PV = "Khối lượng vật lý"
Étienne Phục hồi

Điều này không hiệu quả với tôi:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

@ 8bitjunkie sda1là một thiết bị vật lý, không phải là âm lượng hợp lý.
jordanm

-1

Từ lvdisplayđầu ra, chọn đường dẫn cho phân vùng gốc mà bạn đang cố gắng thay đổi kích thước / mở rộng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.