备份整个OS

我必须格式化整个磁盘并重新安装Ubuntu。

我在我当前的系统上安装了很多软件。 我将不得不重新安装所有这些更新,驱动程序和应用程序。

有什么方法可以制作我安装的Ubuntu的.iso映像以及其中的所有软件,首选项,驱动程序等吗?

有什么办法可以备份我的整个操作系统及其所有软件,驱动器,更新等等吗?

有各种方法可以做到这一点。 最简单的是使用remastersys

sudo remastersys dist 

在使用remastersys之前,您应该安装ubiquity包

或者你可以使用fsarchiver ,redo-backup(现场cd)

如何备份您的操作系统

您可以做的是备份主目录并保存已安装的所有软件包的列表。 要保存已安装软件的列表,请使用以下命令:

 sudo dpkg --get-selections > package_list 

这将创建一个文件,其中包含此系统上安装的所有pakcages /软件的列表。 您需要将此文件备份到安全的地方。

然后,当您在计算机上重新安装ubuntu时,可以使用以下命令安装所有这些软件

 sudo dpkg --set-selections < packages_list 

此命令不会安装任何东西。 它只会标记要安装的软件包。 要安装它们,请运行以下命令:

 sudo apt-get -u dselect-upgrade 

这将需要一些时间来完成,因为您的系统将下载并安装所有软件包。 完成此命令后,将当前主目录替换为先前备份的主目录。

希望这可以帮助

我回答“如何自定义实时Ubuntu CD?” 通过从当前安装创建Live CD的方法。 这意味着您无需再次下载所有软件包。 本指南可能看起来很长很难,但主要是“跟随”和“复制粘贴”。 在这里,复制并编辑了一下:

从现有/新安装创建Live CD

一个好方法是从当前安装制作一张Live CD。 这可以使用虚拟机完成(只是不在客户操作系统中安装任何VM工具)

所以,首先我们需要一个全新的安装(如果你不能真正安装它,尝试使用虚拟机),只需要你需要的东西(在你的情况下是thunderbird,samba和ssh)。 然后我们调整系统并记录调整的位置(例如,您更改桌面背景,设置在〜/ .gconf中或添加firefox快捷方式,它们位于〜/ Desktop中)。 这是步骤4所必需的。

  1. 设置一些变量:

     export WORK=~/temp export CD=~/livecd export FORMAT=squashfs export FS_DIR=casper 

    将〜/ temp替换为我们将在其中工作的临时目录的路径。将〜/ livecd替换为CD树的路径。

  2. 制作文件夹结构。 sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs

  3. 现在我们需要安装一些包:

     sudo apt-get install grub2 xorriso squashfs-tools 
  4. 现在我们将复制当前安装,修改排除标志以满足您的需求:

     sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \ --exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \ --exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \ --exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \ --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \ --exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \ --exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \ / ${WORK}/rootfs 

    如果您有一个单独的启动分区,请执行以下sudo cp -av /boot/* ${WORK}/rootfs/bootsudo cp -av /boot/* ${WORK}/rootfs/boot
    如果要复制用户配置和文件,请根据需要修改此列表:CONFIG =’。config .gconf Desktop someotherfolder andanotherfolder’现在我们复制您的配置和文件:

     cd ~ && for i in $CONFIG do sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel done 
  5. 现在我们chroot到新系统并修改它。

     sudo mount --bind /dev/ ${WORK}/rootfs/dev sudo mount -t proc proc ${WORK}/rootfs/proc sudo mount -t sysfs sysfs ${WORK}/rootfs/sys sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts sudo chroot ${WORK}/rootfs /bin/bash 

    接下来的命令是在chroot中完成的:

     LANG= apt-get update apt-get install casper 

    Casper包含实时脚本。 现在安装程序(gnome版本)apt-get install ubiquity ubiquity-frontend-gtk或者如果你想要KDE:

     apt-get install ubiquity ubiquity-frontend-kde 
  6. 更新modules.dep和initramfs:

     depmod -a $(uname -r) update-initramfs -u -k $(uname -r) 
  7. 删除非系统用户 – 不用担心,我们已将设置和数据复制到用户的“骨架”中。 这意味着所有新用户都将拥有它们。

     for i in `cat /etc/passwd | awk -F":" '{print $1}'` do uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'` [ "$uid" -gt "999" -a "$uid" -ne "65534" ] && userdel --force ${i} 2>/dev/null done 
  8. 清理:

     apt-get clean find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \; find /var/log -type f | while read file do cat /dev/null | tee $file done rm /etc/resolv.conf /etc/hostname 
  9. 退出chroot。 exit

  10. 现在,我们复制内核:

     export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'` sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot 
  11. 这样安装程序就不会安装像casper这样的东西:

     sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop} REMOVE='ubiquity casper user-setup os-prober libdebian-installer4' for i in $REMOVE do sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop done 
  12. 卸载我们安装的内容:

     sudo umount ${WORK}/rootfs/proc sudo umount ${WORK}/rootfs/sys sudo umount ${WORK}/rootfs/dev/pts sudo umount ${WORK}/rootfs/dev 
  13. 转换为squashfs:

     sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT} 
  14. make filesystem.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size

  15. 并且md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt

  16. 现在grub.cfg:

     sudo nano ${CD}/boot/grub/grub.cfg 

    (用你喜欢的文本编辑器替换nano,没关系)粘贴并保存:

     set default="0" set timeout=10 menuentry "Ubuntu GUI" { linux /boot/vmlinuz boot=casper quiet splash initrd /boot/initrd.img } menuentry "Ubuntu in safe mode" { linux /boot/vmlinuz boot=casper xforcevesa quiet splash initrd /boot/initrd.img } menuentry "Ubuntu CLI" { linux /boot/vmlinuz boot=casper textonly quiet splash initrd /boot/initrd.img } menuentry "Ubuntu GUI persistent mode" { linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash initrd /boot/initrd.img } menuentry "Ubuntu GUI from RAM" { linux /boot/vmlinuz boot=casper nopersistent toram quiet splash initrd /boot/initrd.img } menuentry "Check Disk for Defects" { linux /boot/vmlinuz boot=casper integrity-check quiet splash initrd /boot/initrd.img } menuentry "Memory Test" { linux16 /boot/memtest86+.bin } menuentry "Boot from the first hard disk" { set root=(hd0) chainloader +1 } 
  17. 制作CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD}

  18. 使用虚拟机测试它!

所有的功劳都归结为capink,因为指南来自这里 。

在中国,一些朋友在Ubuntu中使用ucloner来备份操作系统。

https://code.google.com/p/ucloner/

UCloner是专为Ubuntu Linux设计的备份/恢复/克隆工具。 在某种程度上,它就像Norton Ghost for Windows。

使用UCloner,您可以将Ubuntu系统备份到squashfs映像文件。 直接从这个图像文件,你可以启动一个PC到一个所谓的“Live Ubuntu”环境(需要“casper”包)。

在UCloner的帮助下,活动的ubuntu系统可以将自身克隆到/某些目标分区中。 还记得Matrix中的Agent Smith吗? 是的,就是这样。

它有命令行和图形界面。 在命令行界面中运行时更灵活。

UCloner是免费软件,在GPL v2下发布。

在此处输入图像描述

如果您在单个硬盘上安装了Ubuntu并且您有另一个具有相同或更大存储容量的硬盘,那么克隆磁盘非常简单:

 sudo dd if=/ of= 

因此,例如,如果要将sda克隆到sdb,那么你应该执行sudo dd if=/dev/sda of=/dev/sdb 。 这将保留所有分区,启动管理器等。

小心使用正确的if(输入文件)和(输出文件)。 输入文件是要复制的磁盘。 如果您切换订单,那么您将把空磁盘克隆到完整的磁盘上,这将留下两个空白磁盘。 🙂

还要确保新磁盘有足够的空间来克隆第一个磁盘。 否则它最终会被砍掉。 没有警告。

如果要创建映像,则只需将of=/dev/sdb替换of=/some_place/disk-image.raw 。 将其存储在另一个磁盘上。

我有一个脚本可以将Ubuntu安装迁移到另一个位置,例如,您可以将其迁移到外部硬盘驱动器。 巧妙的是,您可以在格式化旧驱动器之前独立启动它并确认它正在工作。 这是一个精确的副本 – 无需配置,重新安装或调整。 您只需准备目标分区。 (它也不会修改当前安装,因此您可以在格式化旧安装之前测试已迁移的安装。)

http://ubuntuforums.org/showthread.php?t=1519354

(是的,这是五笔迁移,但它也进行了正常的迁移。我一直用它来备份和恢复不同的安装)

获得所有数据并重新安装后,您可能希望尝试使用Clonezilla来获取操作系统的映像。 如果出现问题,只需弹出操作系统映像,您就可以将系统恢复到原来的位置。