ubuntu对根目录进行扩展

  • Post author:
  • Post category:其他


</pre>1.由于要对磁盘进行分区,具有一定的危险性,首先对系统进行备份:<p></p><p><span style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:16.8px">备份系统</span><span lang="EN-US" style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:16.8px">我该如何备份我的<span lang="EN-US"><span style="font-family:'Times New Roman'">Ubuntu</span>系统呢?很简单,就像你备份或压缩其它东西一样,使用<span lang="EN-US"><span style="font-family:'Times New Roman'">TAR</span>。和<span lang="EN-US"><span style="font-family:'Times New Roman'">Windows</span>不同,<span lang="EN-US"><span style="font-family:'Times New Roman'">Linux</span>不会限制<span lang="EN-US"><span style="font-family:'Times New Roman'">root</span>访问任何东西,你可以把分区上的所有东西都扔到一个<span lang="EN-US"><span style="font-family:'Times New Roman'">TAR</span>文件里去!<span lang="EN-US">备份第一步:打开一个终端,并运行<span lang="EN-US"><span style="font-family:'Times New Roman'"> sudo su</span>(回车后要求输入密码)<span lang="EN-US">第二步:继续在终端中输入<span lang="EN-US"><span style="font-family:'Times New Roman'"> cd /(</span>注意中间有一个空格<span lang="EN-US"><span style="font-family:'Times New Roman'">)</span>第三步:(开始备份系统)<span lang="EN-US">在终端中输入:<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="color:#ff6666"># tar cvpzf Ubuntu.tgz –exclude=/proc –exclude=/lost+found –exclude=/Ubuntu.tgz –exclude=/mnt –exclude=/sys /</span></span><span style="white-space:pre"></span>让我们来简单看一下这个命令:<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>'tar' </span>是用来备份的程序<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>c - </span>新建一个备份文档<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>v - </span>详细模式,<span lang="EN-US"><span style="font-family:'Times New Roman'"> tar</span>程序将在屏幕上实时输出所有信息。<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>p - </span>保存许可,并应用到所有文件。<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>z - </span>采用<span lang="EN-US"><span style="font-family:'Times New Roman'">‘gzip’</span>压缩备份文件,以减小备份文件体积。<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>f - </span>说明备份文件存放的路径,<span lang="EN-US"><span style="font-family:'Times New Roman'"> Ubuntu.tgz </span>是本例子中备份文件名。<span lang="EN-US"><span style="font-family:'Times New Roman'"><span style="white-space:pre"></span>“/”</span>是我们要备份的目录,在这里是整个文件系统。</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span lang="EN-US" style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:16.8px"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span lang="EN-US"><span style="white-space:pre"></span>在档案文件名“Ubuntu.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“Ubuntu.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。备份完成后,在文件系统的根目录将生成一个名为“Ubuntu.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者<span style="font-family:Verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:16.8px">放到你认为安全的地方去。</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p>如果是虚拟机就更好办了</p><p>首先查看自己磁盘的使用情况:</p><p></p><pre name="code" class="html">maclinux@maclinux-virtual-machine:~$ sudo df -h
df: /mnt/hgfs: Protocol error
Filesystem      Size  Used Avail Use% Mounted on
udev            469M     0  469M   0% /dev
tmpfs            98M  6.4M   92M   7% /run<pre name="code" class="plain">


检查一下自己的磁盘分区表:

root@maclinux-virtual-machine:/home/maclinux# fdisk -l /dev/sda
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 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
Disklabel type: dos
Disk identifier: 0xec3cd762

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 60817407 60815360   29G 83 Linux
/dev/sda2       60819454 62912511  2093058 1022M  5 Extended
/dev/sda5       60819456 62912511  2093056 1022M 82 Linux swap / Solaris



记住上面显示的交换分区大小(Blocks的数目),这里就是2093056。如果交换分区和根目录不在一个磁盘(比如/dev/sdb),就不要记了。在本文,交换分区在/dev/sda,需要重新分区。


之后关闭虚拟机(我再虚拟机里使用linux),扩展虚拟机的分区,这次我加到了100G,启动虚拟机

重新设置分区表要删除所有的旧分区、关闭系统的swap:

free -m
             total       used       free     shared    buffers     cached
Mem:           992        924         67          0         43        426
 -/+ buffers/cache:        454        537
Swap:         1021          0       1021

再执行:

swapoff -a

查看一下这次的swap使用情况:

root@ubuntu:~# free -m
             total       used       free     shared    buffers     cached
Mem:           992        924         67          0         43        426
 -/+ buffers/cache:        454        537
Swap:            0          0          0


接下来的步骤会删除/dev/sda1和/dev/sda2,一定要记住分区表的起始位置

,这里是2048!

由于这一步自己忘记记录了,引用别人的过程啊:

root@ubuntu:~# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders, total 31457280 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: 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 / Solaris

Command (m for help): d
Partition number (1-5): 1

Command (m for help): d
Partition number (1-5): 2

Command (m for help): p

Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders, total 31457280 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: 0x00001dec

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): 




不要退出fdisk,接着创建新分区






Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-31457279, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-31457279, default 31457279): 30410751

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (1-4, default 2): 
Using default value 2
First sector (30410752-31457279, default 30410752): 
Using default value 30410752
Last sector, +sectors or +size{K,M,G} (30410752-31457279, default 31457279): 
Using default value 31457279








注意记得创建交换分区,大小别搞错,就用之前的大小:


ommand (m for help): p

Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders, total 31457280 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: 0x00001dec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    30410751    15204352   83  Linux
/dev/sda2        30410752    31457279      523264   83  Linux

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap / Solaris)

Command (m for help): w
The 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 at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
root@ubuntu:~# 



重启一下虚拟机哦





交换分区挂载需要UUID标识符。创建新的交换分区不会匹配旧的UUID,导致重启无法挂载swap分区。这里主要有两种解决方法:在/etc/fstab里写入新的UUID,或者直接将旧的UUID覆盖在新分区上,这里选择后者。 awk命令用来显示旧的UUID,dd命令确保分区没数据。


cruz@ubuntu:~$ sudo bash
[sudo] password for cruz: 
root@ubuntu:~#  awk '/swap/ { print $1 }' /etc/fstab
#
UUID=8bb62351-4436-47df-92fe-af2865f03461
root@ubuntu:~# swapoff -a
root@ubuntu:~# free -m
             total       used       free     shared    buffers     cached
Mem:           992        695        296          0         23        325




最后,调整分区大小:(之前就是这一步忘了)

root@ubuntu:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       9.0G  2.8G  5.8G  33% /
udev            488M  4.0K  488M   1% /dev
tmpfs           199M  788K  198M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            497M  200K  496M   1% /run/shm
root@ubuntu:~# resize2fs /dev/sda1
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/sda1 to 3801088 (4k) blocks.
The filesystem on /dev/sda1 is now 3801088 blocks long.

root@ubuntu:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        15G  2.8G   11G  21% /
udev            488M  4.0K  488M   1% /dev
tmpfs           199M  788K  198M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            497M  200K  496M   1% /run/shm
root@ubuntu:~# 



爱你YZ



版权声明:本文为maclinuxye原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。