原文鏈接:http://t.cn/RzCP9E2 翻譯源鏈接:http://imcczy.com/how-to-expand-the-root-filesystem-in-vmware.html
轉(zhuǎn)載說明:
此文下面的有重新需要分區(qū)的操作,分區(qū)的操作與正常裝系統(tǒng)分區(qū)不同,是需要手動指定扇區(qū)(sectors)的起始點的, 這里給出計算方式,其實當打出命令時也是有提示的 類似這樣的提示 Disk /dev/sda: 15 GiB, 16106127360 bytes, 31457280 sectors Units: sectors of 1 * 512 = 512 bytes sectors 就是你的硬盤當前分區(qū)總扇區(qū)大小 可以先計算出自己打算要分出的分區(qū)大小 例如 根分區(qū) 需要14G swap分1G 1024*14=14336bytes(1.4mb) *1024*1024 = 15032385536bytes(14G) 15032385536 / 512 = 29360128 sectors 得出了從起始點到此扇區(qū)結(jié)束就是14G了
年代久遠,謹慎嘗試
虛擬機用著用著空間就不夠了,google了一篇文章,試了一下,有用,征得作者同意,翻譯了下。刪了一些無關(guān)的東西。
注:
作者輸入命令時都用“sudo bash”,用sudo或者su就可以了。
再注:
涉及到磁盤分區(qū)表刪除,最好先備份整個虛擬機!
檢查文件系統(tǒng):
cruz@Ubuntu:~$ sudo bash[sudo] passWord for cruz: root@ubuntu:~# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda1 9.0G 2.7G 5.9G 32% /udev 488M 4.0K 488M 1% /devtmpfs 199M 800K 198M 1% /runnone 5.0M 0 5.0M 0% /run/locknone 497M 76K 496M 1% /run/shmroot@ubuntu:~#檢查磁盤分區(qū)表:
root@ubuntu:~# fdisk -l /dev/sdaDisk /dev/sda: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00001decDevice Boot Start End Blocks Id System/dev/sda1 * 2048 18874367 9436160 83 linux/dev/sda2 18876414 20969471 1046529 5 Extended/dev/sda5 18876416 20969471 1046528 82 Linux swap / Solarisroot@ubuntu:~#記住上面顯示的交換分區(qū)大?。˙locks的數(shù)目),這里就是1046528。如果交換分區(qū)和根目錄不在一個磁盤(比如/dev/sdb),就不要記了。在本文,交換分區(qū)在/dev/sda,需要重新分區(qū)。
在虛擬機設(shè)置,硬盤,實用工具下選擇擴展。擴展虛擬機的最大磁盤大小,這里將磁盤設(shè)置為15G,然后重啟。
重新設(shè)置分區(qū)表要刪除所有的舊分區(qū)、關(guān)閉系統(tǒng)的swap:
cruz@ubuntu:~$ sudo bash[sudo] password for cruz: root@ubuntu:~# free -m total used free shared buffers cachedMem: 992 924 67 0 43 426 -/+ buffers/cache: 454 537Swap: 1021 0 1021root@ubuntu:~# swapoff -aroot@ubuntu:~# free -m total used free shared buffers cachedMem: 992 924 67 0 43 426 -/+ buffers/cache: 454 537Swap: 0 0 0root@ubuntu:~#接下來的步驟會刪除/dev/sda1和/dev/sda2,一定要記住分區(qū)表的起始位置,這里是2048!
root@ubuntu:~# fdisk /dev/sdaCommand (m for help): pDisk /dev/sda: 16.1 GB, 16106127360 bytes255 heads, 63 sectors/track, 1958 cylinders, total 31457280 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00001dec Device Boot Start End Blocks Id System/dev/sda1 * 2048 18874367 9436160 83 Linux/dev/sda2 18876414 20969471 1046529 5 Extended/dev/sda5 18876416 20969471 1046528 82 Linux swap / SolarisCommand (m for help): dPartition number (1-5): 1Command (m for help): dPartition number (1-5): 2Command (m for help): pDisk /dev/sda: 16.1 GB, 16106127360 bytes255 heads, 63 sectors/track, 1958 cylinders, total 31457280 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00001dec Device Boot Start End Blocks Id SystemCommand (m for help):不要退出fdisk,接著創(chuàng)建新分區(qū)
Command (m for help): nPartition type: p PRimary (0 primary, 0 extended, 4 free) e extendedSelect (default p): pPartition number (1-4, default 1): 1First sector (2048-31457279, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279): 30410751Command (m for help): nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): pPartition number (1-4, default 2): Using default value 2First sector (30410752-31457279, default 30410752): Using default value 30410752Last sector, +sectors or +size{K,M,G} (30410752-31457279, default 31457279): Using default value 31457279注意記得創(chuàng)建交換分區(qū),大小別搞錯,這里是1046528(31457279-30410571=1046528),即要留一部分block用于創(chuàng)建swap。修改sda2的分區(qū)類型為82,即交換分區(qū)。Command (m for help): pDisk /dev/sda: 16.1 GB, 16106127360 bytes255 heads, 63 sectors/track, 1958 cylinders, total 31457280 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00001dec Device Boot Start End Blocks Id System/dev/sda1 2048 30410751 15204352 83 Linux/dev/sda2 30410752 31457279 523264 83 LinuxCommand (m for help): tPartition number (1-4): 2Hex code (type L to list codes): 82Changed system type of partition 2 to 82 (Linux swap / Solaris)Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.root@ubuntu:~#交換分區(qū)掛載需要UUID標識符。創(chuàng)建新的交換分區(qū)不會匹配舊的UUID,導致重啟無法掛載swap分區(qū)。這里主要有兩種解決方法:在/etc/fstab里寫入新的UUID,或者直接將舊的UUID覆蓋在新分區(qū)上,這里選擇后者。 awk命令用來顯示舊的UUID,dd命令確保分區(qū)沒數(shù)據(jù)。
cruz@ubuntu:~$ sudo bash[sudo] password for cruz: root@ubuntu:~# awk '/swap/ { print $1 }' /etc/fstab#UUID=8bb62351-4436-47df-92fe-af2865f03461root@ubuntu:~# swapoff -aroot@ubuntu:~# free -m total used free shared buffers cachedMem: 992 695 296 0 23 325-/+ buffers/cache: 346 645Swap: 0 0 0root@ubuntu:~# dd if=/dev/zero of=/dev/sda2dd: writing to '/dev/sda2': No space left on device1046529+0 records in1046528+0 records out535822336 bytes (536 MB) copied, 11.9388 s, 44.9 MB/sroot@ubuntu:~# mkswap -U 8bb62351-4436-47df-92fe-af2865f03461 /dev/sda2Setting up swapspace version 1, size = 523260 KiBno label, UUID=8bb62351-4436-47df-92fe-af2865f03461root@ubuntu:~# swapon -aroot@ubuntu:~# free -m total used free shared buffers cachedMem: 992 693 298 0 23 325-/+ buffers/cache: 345 646Swap: 510 7 503root@ubuntu:~#新聞熱點
疑難解答
圖片精選