</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