我已经很久没有做过这件事了,而且我可能以最复杂的方式做过这件事。我将操作系统驱动器升级为更大的驱动器(旧驱动器 60GB,新驱动器 250GB),运行 Ubuntu 14.04,并使用 ddrescue 创建旧磁盘的映像,然后将映像恢复到新磁盘上。我必须分步创建/恢复映像,因为我一次只能将一个磁盘连接到我的笔记本电脑。
ddrescue -d -r3 /dev/sda os_drive.img create_image.log
ddrescue -f os_drive.img /dev/sda restore_image.log
系统使用新磁盘运行良好,但容量当然只显示 60GB。我猜我需要扩展分区,扩展 LVM,然后调整 ext4 文件系统的大小。我不确定这是否正确。
我非常乐意使用更简单的方法从头开始重做此操作以复制磁盘内容。我在我的 OSX 笔记本电脑上使用 VirtualBox 执行 ddrescure,驱动器通过 USB 一次连接一个。我正在考虑的另一个选择是使用 Clonezilla。
fdisk:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008035d
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 125044735 62271489 5 Extended
/dev/sda5 501760 125044735 62271488 8e Linux LVM
Disk /dev/mapper/nobox--vg-root: 59.5 GB, 59466842112 bytes
255 heads, 63 sectors/track, 7229 cylinders, total 116146176 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
分手:
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 488397168s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 2048s 499711s 497664s primary ext2 boot
2 501758s 125044735s 124542978s extended
5 501760s 125044735s 124542976s logical lvm
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/nobox--vg-root: 116146176s
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0s 116146175s 116146176s ext4
vg显示:
VG Name nobox-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 59.38 GiB
PE Size 4.00 MiB
Total PE 15202
Alloc PE / Size 15202 / 59.38 GiB
Free PE / Size 0 / 0
VG UUID LJMh7v-rslr-ec79-MCxL-RoqQ-zJ9n-0CNfq3
pv显示:
PV Name /dev/sda5
VG Name nobox-vg
PV Size 59.39 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 15202
Free PE 0
Allocated PE 15202
PV UUID qYZ8cg-RzrA-Dv3s-pSkZ-MZY6-MJsa-a59XCb
lv显示:
LV Path /dev/nobox-vg/root
LV Name root
VG Name nobox-vg
LV UUID TavnN5-q5YR-jeXh-ceY9-rCYD-mjFR-Cv645y
LV Write Access read/write
LV Creation host, time ,
LV Status available
# open 1
LV Size 55.38 GiB
Current LE 14178
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
答案1
我最终尝试了 Clonezilla,但它也没有调整磁盘大小。最终起作用的是:
- 使用 Clonezilla 将磁盘从 64GB 复制到 250GB 驱动器
- 使用 Ubuntu Live USB 运行修复安装操作并在磁盘上安装 GRUB
- 以 root 身份从 Ubuntu Live USB 运行 GParted,并从菜单中执行“分区 > 检查”以分配未使用的空间。
- 启动进入系统
- 运行 lvextend -l +100%FREE /dev/vg-name/root
- 运行 resize2fs /dev/vg-name/root