备份重要数据:在进行重装之前,请确保备份所有重要数据。
制作Ubuntu 2004安装媒介:下载Ubuntu 2004镜像文件并制作安装媒介,如U盘或光盘。
引导到安装媒介:在开机时选择启动自安装媒介,以开始安装过程。
选择重装选项:选择重装选项,并删除所有现有系统分区。
安装Ubuntu 2004:按照屏幕上的提示完成安装过程。
恢复备份数据:安装完成后,请恢复您之前备份的数据。
请注意,这是一个重要且技术密雅的过程,请谨慎 *** 作以避免出现问题。如果您对重装系统不确定,请咨询专业人士的帮助。有时我们在一台机上装了ubuntu,并进行了许多配置,现在我们需要把它移植到另外几台机上,并且保留所有安装的软件和用户数据。
使用软件:systemback
简而言之就是:
制作镜像,刻入u盘,把u盘的镜像安装到硬盘。
安装
安装完成后在Dash菜单中就能找到这个软件了
点击图标,输入管理员密码,打开后界面如下图所示
点击"创建live系统"
把u盘插入裸机,进入bios系统,选择优先启动u盘(要用uefi模式, 如果无法用u盘启动可能是用了legacy模式,可到bios系统设置)
启动后应该会有如下界面
选择第一项,即可进入该镜像的系统。
进入u盘镜像系统后,再次打开systemback,选择"系统安装"
填写完成后点击"下一步",进入下图:
酌情选择"传递用户配置文件",检查"安装grub2引导程序"选项并非"禁用"。点击下一步。然后就会安装到硬盘了。
等待过后,回到bios界面,把装有ubuntu的硬盘设为首启动项,你就看到一个原封不动的系统了~
在备份过程中可能提示
这并不一定是由于系统发生了严重的更改,只要是在复制文件的过程中出现错误都会出现这个信息。
详细的错误信息可以通过
这个指令去调试,看看具体哪一个文件复制出了问题。极有可能的是权限问题。
也可以通过这个指令去调试
当错误出现后会在/tmp文件夹下创建一个systemback的错误信息文件。可以方便的通过这个文件去找到错误的原因。功能说明:备份文件系统。
语 法:dump [-cnu][-0123456789][-b <区块大小>][-B <区块数目>][-d <密度>][-f <设备名称>][-h <层级>][-s <磁带长度>][-T <日期>][目录或文件系统] 或 dump [-wW]
补充说明:dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
参 数:
-0123456789 备份的层级。
-b<区块大小> 指定区块的大小,单位为KB。
-B<区块数目> 指定备份卷册的区块数目。
-c 修改备份磁带预设的密度与容量。
-d<密度> 设置磁带的密度。单位为BPI。
-f<设备名称> 指定备份设备。
-h<层级> 当备份层级等于或大雨指定的层级时,将不备份用户标示为"nodump"的文件。
-n 当备份工作需要管理员介入时,向所有"operator"群组中的使用者发出通知。
-s<磁带长度> 备份磁带的长度,单位为英尺。
-T<日期> 指定开始备份的时间与日期。
-u 备份完毕后,在/etc/dumpdates中记录备份的文件系统,层级,日期与时间等。
-w 与-W类似,但仅显示需要备份的文件。
-W 显示需要备份的文件及其最后一次备份的层级,时间与日期。
备份命令dump/还原命令restore
dump 可以执行类似 tar 的功能。然而, dump 倾向于考虑文件系统而不是个别的文件。下面是引自 dump 手册文件中的内容:“dump 检查 ext2 文件系统上的文件,并确定哪些文件需要备份。这些文件将出于安全保护而被复制到给定的磁盘、磁带或其他存储媒体上……大于输出媒体容量的转储将被划分到多个卷。在大多数媒体上,容量是通过一直写入直至返回一个 end-of-media 标记来确定的。”
配合 dump 的程序是 restore ,它用于从转储映像还原文件。
restore 命令执行转储的逆向功能。可以首先还原文件系统的完全备份,而后续的增量备份可以在已还原的完全备份之上覆盖。可以从完全或部分备份中还原单独的文件或者目录树。
dump 和 restore 都能在网络上运行,因此您可以通过远程设备进行备份或还原。 dump 和 restore 使用磁带驱动器和提供广泛选项的文件设备。然而,两者都仅限用于 ext2 和 ext3 文件系统。如果使用的是 JFS、Reiser 或者其他文件系统,您将需要其他的实用工具,比如 tar 。
使用 dump 执行备份
使用 dump 执行备份是相当简单的。下面的命令执行一个完全 Linux 备份,它把所有 ext2 和 ext3 文件系统备份到一个 SCSI 磁带设备。
dump 0f /dev/nst0 /boot
dump 0f /dev/nst0 /
在这个例子中,系统中有两个文件系统。一个用于 /boot,另一个用于 / ,这是常见的配置。它们必须在执行备份时单独地引用。 /dev/nst0 引用第一个 SCSI 磁带驱动器,不过是以非重绕的模式引用。这样确保各个卷在磁带上一个接一个地排列。
dump 的一个有趣特性是其内置的增量备份功能。在上面的例子中, 0 表示 0 级或基本级备份。这是完全系统备份,您要定期执行以保存整个系统。对于后续的备份,您可以使用其他数字(1-9)来代替 0,以改变备份级别。1 级备份会保存自从执行 0 级备份以来更改过的所有文件。2 级备份会保存自从执行 1 级备份以来更改过的所有文件,以此类推。使用 tar 和脚本可以执行相同的功能,但要求脚本创建人员提供一种机制来确定上次备份是何时执行的。 dump 具有它自己的机制,即它在执行备份时会输出一个更新文件(/etc/dumpupdates)。这个更新文件将在每次执行 0 级备份时被重设。后续级别的备份会保留它们的标记,直至执行另一次 0 级备份。如果您在执行基于磁带的备份, dump 会自动跟踪多个卷。
跳过文件
标记将被 dump 跳过的文件和目录是可以做到的。实现此目的的命令是 chattr ,它改变 ext2 和 ext3 文件系统上的扩展属性。
chattr +d <filename>
上面的命令向文件添加一个标记,让 dump 在执行备份时跳过该文件。
使用 restore 来执行还原
要还原使用 dump 保存的信息,可以使用 restore 命令。像 tar 一样, dump 能够列出( -t )归档文件的内容,并与当前文件作比较( -C )。使用 dump 时必须小心的地方是还原数据。有两种非常不同的还原方法,您必须使用正确的方法才能获得可预测的结果。
重建 (-r)
记住,在设计 dump 时考虑得更多的是文件系统,而不是单独的文件。因此,存在两种不同的文件还原风格。要重建一个文件系统,可使用 -r 命令行开关。设计重建的目的是为了能在空文件系统上 *** 作,并将它还原为已保存的状态。在执行重建之前,您应该已经创建、格式化和装载(mount)了该文件系统。不应该对包含文件的文件系统执行重建。
下面是使用上面执行的转储来执行完全重建的例子。
restore -rf /dev/nst0
上面这个命令需要针对要还原的每个文件系统分别执行。
在需要的时候,可以重复这个过程来添加增量备份。
提取 (-x)
如果需要使用单独的文件而不是使用整个文件系统,您必须使用 -x 开关来提取它们。例如,要仅从我们的磁带备份中提取 /etc 目录,可使用以下命令:
restore -xf /dev/nst0 /etc
交互式还原 (-i)
restore 提供的另外一个特性是交互式模式。使用命令:
restore -if /dev/nst0
将把您置于交互式 shell 中,同时还显示了包含在该归档文件中的项。键入“help”将会显示一个命令列表。然后您就可以浏览并选择希望提取的项。务必记住,您提取的任何文件都将进入当前目录。
举例说明:
dump命令是一个专门用来备份的工具。
[root@localhost frank]# dump -0 -u -f /dev/hda3 /home/frank/
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Dumping /dev/hda9 (/home/frank) to /dev/hda3
DUMP: Added inode 7 to exclude list (resize inode)
DUMP: Label: none
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 15492 tape blocks
DUMP: Volume 1 started with block 1 at: Sat Nov 30 19:46:01 2002
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing /dev/hda3
DUMP: Volume 1 completed at: Sat Nov 30 19:46:13 2002
DUMP: Volume 1 15490 tape blocks (1513MB)
DUMP: Volume 1 took 0:00:12
DUMP: Volume 1 transfer rate: 1290 kB/s
DUMP: 15490 tape blocks (1513MB) on 1 volume(s)
DUMP: finished in 12 seconds, throughput 1290 kBytes/sec
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Date this dump completed: Sat Nov 30 19:46:13 2002
DUMP: Average transfer rate: 1290 kB/s
DUMP: DUMP IS DONE
-0 是备份的等级,从0-9,0以后都是更新备份的参数,一般常用的是0和9
-u 是将备份记录写入/etc/dumpdates这个文件中
[root@localhost frank]# cat /etc/dumpdates
/dev/hda9 0 Sat Nov 30 19:45:56 2002
/dev/hda9 9 Sat Nov 30 17:04:20 2002
注意,当你备份的目录是一个子目录,而不是一个分区的顶层目录时-u参数
是不能使用的。
-f 是指定备份到那个文件,也可以指定一个设备文件,我在这里指定的就是一个分区
更新备份:
在0级别备份的基础上,向/home/frank写入一些新的文件,然后
umount /home/frank
mount /home/frank
注意如果不这样做,不会将新写入的文件备份进去的。
然后:
[root@localhost frank]# dump -9 -u -f /dev/hda3 /home/frank/
用restore tf /dev/hda3就会看到刚刚写入的文件会出现在列表中。
restore命令是用来恢复备份的。
[root@localhost frank]# restore rf /dev/hda3 /home/frank
用restore命令来查看备份文件里的文件列表
[root@localhost frank]# restore ft /dev/hda3首先用win7自带的磁盘分区工具,从任意一个空余空间较多的磁盘划出一块新分区(无损数据)(如NTFS),作为ubuntu新增空间所用。
计算机——管理——磁盘管理——磁盘0——选中哪块分区,右键——压缩卷——等待分出一块空闲分区——右键新建简单卷,按指示往下走
然后:
在linux下挂载新磁盘到指定目录下/home或者根目录/下(一定要做好备份)。
以给/home目录增加磁盘空间为例:
df -lh
找出new这块磁盘挂载的位置,如/dev/sda10,设备号因具体而异。
3、重启进入单用户模式(recovery mode),root 身份登录。
4、格式话new这个分区为ext4,也可以是ext3:
mkfsext4 /dev/sda10
5、备份 /home 目录
mv /home /homebak
6、如果 /home 目录已经挂载的状态,首先卸载,然后删除:
umount /home
rm /home
7、重新创建 /home 目录:
mkdir /home
8、将刚才格式化的那块分区挂载到 /home 目录:
mount /dev/sda10 /home
9、还原 /home 下的所有文件:
cp -R /homebak/ /home
10、设回原来的用户目录的权限:
chown -R name:name file
name 为用户名,file为用户路径,如 /home/zhengwei
11、修改权限:
cd ~/
chown name dmrc
chmod 644 dmrc
cd /home
chown name name
chmod 755 name
12、编辑fstab,使新分进来的设备自动挂载:
vim /etc/fstab
编辑文件,/dev/hda10 /home auto rw 0 0
改为auto自动识别磁盘格式。 rw是可读可写。
最后reboot,进入系统查看 /home 和 / 的剩余空间
遇到问题:
在recover mode模式下,无法获取root的读写权限,cp和mv *** 作都无效
在命令行下执行:mount -o remount,rw /
即可。
清理的方法:
从网上搜刮总结以下几点常用的垃圾清理方法:
1)非常有用的清理垃圾命令:
#sudo apt-get autoclean
#sudo apt-get clean
#sudo apt-get autoremove
这三个命令主要清理升级缓存及无用包。
2)删除旧内核及相关配置,可以进入/boot目录,删除/lib/modules里面的旧核的相关模块文件
这样做太危险!!如果把内核删掉了,就没办法启动了。简直是后悔莫及。
以下是修复误删内核的方法:
先将根目录系统下的东西备份起来,然后再想办法恢复文件系统,一定要做好备份!
因为当时直接在windows下用wubi安装的,没有单独的linux分区,所以都放在rootdisk里面
sudo fdisk -l
发现全是windows下的盘 ID 为7
以后安装系统还是要单独分出一个盘,boot和根文件系统单独分区,这样方便恢复。
先不说,先备份:
sudo mount -o loop /dev/sda8/rootdisk /mnt/123/
查看/mnt/123里,文件都在里面,才放心了。
拷贝完毕后:umount /mnt/123
我是单独分出一个盘作为备份盘,备份的习惯一定要养好,到了一个阶段性的工作完成都要备份,无论是文件还是解决办法,否则删除容易找回来难!!切记切记!
然后来修复内核和grub,网上有很多办法,都尝试过,这里我只写在我的情况下,有用的办法:
1用UItralSO刻录ubuntu系统盘:
ubuntu desktop 安装iso你刻成光盘后,可以直接从光盘启动一个带桌面的ubuntu linux系统,你可以直接使用,无须安装,而且不会影响到硬盘。所以叫 live cd。
从live cd进去桌面,打开终端,sudo -i,sudo grub,之后进入到grub,重新引导
但我的是显示找不到文件。
这个方法是比较通用的,但是我的不行,因为我把/boot文件夹下initrd 和vmlinux都删除了,自然就找不到内核了
然后我把/boot原来的备份的文件,拷贝到/mnt/123/boot即原来的root/boot文件夹里
但是重新开启,还是不行,报的错误是:
启动ubuntu报"you need to load the kernel first"
原来删除的文件已经拷贝过去了,但是系统还是不认
后来发现启动项有一个Previous Linux Versions
从其recovery mode 可以切换到root权限,确认其根文件系统是完整的
输入:
sudo apt-get install linux-image-32-generic
》这里2621-16是我要安装的版本号,因为我是要修复,所以跟以前的是一样的
待执行完成后,执行:sudo update-grub--------->这一步好像起作用了,我个人揣测的原因是,虽然我拷贝内核进去了,但是grub已经将原来的路径已经删除。
这一步执行完毕之后,再sudo reboot(这里)
发现recovery mode启动没有问题,但是按正常方式启动,出现以下的提示:
Ubuntu更新出现 The system is running in low-graphics mode可以跨版本还原,随便找一个linux发行版就可以。
1用启动u盘上的livecd,挂载ubuntuserver的/目录所属分区到/media,删除/media目录下的所有内容 ,然后恢复backtgz到/media
2根据你ubuntuserver的分区情况,安装grub到ubuntuserver的/boot
如果期间进行过格式化磁盘,或更换分区。要修改还原后fstab里的UUID或设备名还有/boot/grub/grubcfg里的UUID。直接将/home里面的东西tar到别的地方即可。如果是/home单独分区的话,Ghost是最方便的了。
/etc里面的是配置文件,同样可以tar好放别的地方。
也可以直接整个系统备份:
tar -cvpzf /‘备份文件路径 -exclude=/proc -exclude=/lost+fount -exclude=/media -exclude=/mnt -exclude=/sys /
这就是将/proc/media/mnt/sys几个不必要备份的其他所有数据全部备份。
恢复系统就是tar -xvpzf /‘备份文件路径 -C /
当然上面说了,四个目录是被排除掉的,一条命令新建:
mkdir /proc /lost+found /mnt /sys
当然在一切开始之前先sudo su在windos 下装的吧, ubuntu 对系统要求较高, 估计是把系统下文件替换或者是删除了,
个人觉得没什么办法可以修复, 数据无价 进Mac系统把widows下的文件做备份吧,
然后重新安装windows 系统。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)