准备工作:
rufus:
链接:https://pan.baidu.com/s/133wksMYJ8NHaWpXRPKEr_w
提取码:kgrd
–来自百度网盘超级会员V2的分享
再生龙镜像文件:
链接:https://pan.baidu.com/s/1TDpZQpAOhX9r2ejAssKn4A
提取码:6nww
–来自百度网盘超级会员V2的分享
再生龙的镜像需要根据备份的主机主板信息确定,如果你不确定该使用哪个版本,就选择i686这个,当然Ubuntu只有amd版本的镜像了,Ubuntu和centos系统就选amd即可。或者你也可以进入再生龙官网自行下载需要的版本。(以下是关于所选镜像与cpu架构的关系)
2022.5.31更新:
增加了保存备份的镜像说明
2022.10.8更新:
博客结尾处从问题三开始新增多个可能遇到的问题描述
关于 CPU 架构(官网介绍)
对于基于 Ubuntu 的分支,即替代稳定和替代测试分支,有 2 种 CPU 架构可用:
对于基于 Debian 的分支,即稳定和测试分支,有 3 种 CPU 架构可用:
如果您不确定哪个适合您的机器,请先尝试 i686 版本(最慢,但适用于几乎现代的 x86 CPU)。但是,如果您需要uEFI 安全启动,请使用AMD64 版本的 Clonezilla live。
链接: 再生龙官网链接
注意:备份centos需选择Ubuntu的镜像,Debian和Ubuntu的系统不兼容。一般只能硬件相同才能使用同一个镜像进行还原,因为显卡可能互相不兼容,包括主板、CPU等
rufus为免安装程序,直接起动。选择u盘和再生龙镜像,开始制作u盘启动工具

如果点击开始之后,rufus若提示缺少某个文件或者库,直接下载即可。
以推荐方式写入

u盘启动工具制作完成

注意:u盘的读写速度会严重影响备份还原的速度。建议使用固态u盘。经测试,读写速度慢的u盘备份可能长达40分钟,快的大概5分钟就可以备份完成。
如果使用固态硬盘做启动工具,rufus默认不自动显示设备,只需把高级选项勾选一下即可。

根据系统启动键,在开机时进入BIOS,不同品牌的电脑启动键不同

我这里是F2,狂按热键,进入BIOS,选择启动菜单

选择u盘启动,判断哪个是自己u盘的方法,一个是u盘大概率名字是udisk,二是看磁盘空间大小,很明显,倒数两个都是u盘(任选一个即可),这里我们选最后一个

进入再生龙的启动页面,如果这步没有进入下面的界面,则说明再生龙镜像烧录不成功,可更换u盘刻录工具。我在刻录的时候,一开始使用tuxboot进行刻录就没有成功,使用rufus并按照我的步骤就基本不会出问题。
选择其他模式。
因为在默认模式下,Clonezilla并不会加载自身所在的U盘作为备份盘,那样就会额外需要一个U盘作为备份盘(加上Clonezilla启动盘,一共需要两个!);而我们选择将Clonezilla加载进内存的话,Clonezilla就会自动识别并加载自身的这个U盘,我们备份和还原就只需一个U盘。
注意:不同镜像的界面略有差别,但配置一样,不必在意

选择加载到内存,我这里有两个加载到内存,不知道区别是什么,就选择第一个,这个不重要。

等待启动

选择中文

选择默认键盘配置

使用再生龙

选择第一个,device-image硬盘/分区存到/来自镜像文件

选择local_dev使用本机的分区

点击回车,继续

界面跳转,按ctrl+c继续

等待继续

根据名称和磁盘大小,确定我们的u盘,选择u盘

选择no-fsck

选择boot,这里需要按tab切换到done,再回车确定

回车确定继续

选择初学者模式

存储本机硬盘为镜像文件

命名备份镜像的名称,我这里是以服务器的名称命名的

选择备份的母机硬盘,根据磁盘空间来判断,这里的硬盘应是系统的安装盘,这里我选择第二个,第一个是误选了(第一个不要选),按空格确定选择,大家按照自己的情况选择

选择zip压缩方法

选择跳过检查

选择检查保存的镜像。这里新手建议选择检查保存的镜像,但检查保存镜像要花费时间,时间紧迫,可选择跳过检查保存镜像。

选择不对镜像加密

这里随便选一个,我选择的第一个

按回车继续

遇到这种都是按y,一路继续

正在备份

完成后,回车

选择重新开机,到这里及备份完成,但最好等到系统重启完成或者关机完成再拔出u盘,否则可能会导致u盘中的镜像损坏

还原系统一开始的步骤和备份系统一致
狂按热键,我是F2,进入BIOS,选择启动菜单

选择u盘启动

进入再生龙的启动页面,选择其他模式。

选择加载到内存

等待启动

选择中文

选择默认键盘配置

使用再生龙

选择第一个,device-image硬盘/分区存到/来自镜像文件

选择local_dev使用本机的分区

点击回车,继续

界面跳转,按ctrl+c继续

等待继续

根据名称和磁盘大小,确定我们的u盘,选择u盘

选择no-fsck

以下步骤和备份系统不一样,请仔细选择
选择u盘刚才备份的镜像,我这里选择152镜像,按tab切换到done,再回车确认

回车继续

选择专家模式

restoredisk还原镜像文件到本机硬盘

选择镜像文件

选择还原到哪个硬盘

这里直接默认选择即可,有需要的同学可以自行进行选择,按tab切换到确定
按默认选择进行确定

还原前检查保存的镜像。这里新手建议选择检查保存的镜像,但检查保存镜像要花费时间,时间紧迫,可选择跳过检查保存镜像。

回车继续

这边有一两个图片忘拍了,没拍到的步骤就按默认回车即可,没有关键步骤。回车继续

下面镜像文件将覆盖硬盘,输入y,回车继续

还原完成之后,正常重启一下电脑,进入并测试是否还原成功
出现图形化界面,成功完成备份。
这个时候其实还有一个问题,系统备份文件保存在u盘里了,每次还原都要用这个u盘,如果我想把这份镜像发给别人,让他使用,那我们还需要继续做一些处理。
网上的再生龙教程都没有提到这一点

152-best-img就是保存的系统备份文件
方法一、制作成iso文件
这样制作成iso,我们再将iso烧录到u盘,就可以很方便的还原了。但是官网是外国网站,你可能访问不成功或者非常卡,而且我使用这个方法并没有成功。
方法二、直接使用文件夹
152-best-img就是保存的系统备份文件,我们只需要使用再生龙的镜像烧录一个再生龙启动u盘,然后把152-best-img直接复制到u盘,和上图一样,这样还原的步骤也都是一样的,用起来也还算方便
问题一:开机进入grub命令行

原因:
grub找不到存储在系统内的引导文件(grub.cfg),因此不能正确引导系统。因此我们要做的事情就是告诉grub,系统的分区在哪里及grub.cfg在哪个目录下。出现这个问题大概率是镜像问题,检查镜像和系统是否匹配,或者换一个镜像重试一次
解决方法:
链接:再生龙恢复Ubuntu之后的grub引导修复方法
这篇文章介绍了怎么在grub中进行恢复,但我没成功,所以我更建议你重新更换镜像
问题二:开机后提示you are in emergency mode

这个问题我在服务器上多次见到,但因为没有运维人员,最终选择的方法还是重装系统。直接输入密码就能进入命令行模式
原因:
同事说可能是挂载磁盘的原因,经过测试发现,确实是挂载问题。
首先我们要先查看日志信息,判断具体错误是什么
直接输入密码,进入正常的命令行
输入以下命令,来查看日志信息
journalctl -xb
进入日志信息之后,输入/failed,来检索错误的信息,按n,不断查看下一个错误,只需看红字部分

这里提示,是/cs-home目录出现了问题,于是我们想到可能是挂载信息出了问题。大概分区或者挂载磁盘找不到,就会出现这个问题。
vim /etc/fstab
查看系统的挂载信息。这里理论上来讲,只需要/、/boot、swap三个目录的挂载,在其他行前加上#注释掉挂载信息
reboot重启,居然成功解决了。
问题三:镜像的版本和操作系统版本问题
据同事说,centos7,8,9中7尽量选择旧一些的再生龙镜像,9尽量选择较新的再生龙镜像,不然可能会出问题
问题四:还原时的硬盘大小问题
这个问题很重要,只能将备份硬盘小的,还原到硬盘大的。反之则会还原失败。且备份的镜像的大小由硬盘大小决定。比如200G的硬盘备份的镜像大概5G。6T的硬盘备份的镜像大概20G。
问题五:可能存在刻录软件问题和u盘问题
目前经测试,rufus刻录没有出现过问题,有的u盘可能会导致备份还原失败,原因未知。u盘空间不足可能会导致备份还原失败。u盘的读写速度可能会导致备份还原速度过慢。
总结:备份还原没有什么特别好的排错方法,遇到问题只能不断尝试,我备份还原的总时间花了快一个月,期间遇到各种问题,目前备份还原也较为熟练了。
备份的原系统,当时分区的时候是自动分区,系统默认分配/、/boot、/swap、/home,后来尝试手动分区/、/boot、/swap,再重新备份还原,没有出现这样的问题。
我这里列举的思路,不一定能解决你的问题,目的是给你提供了一个方向。按照再生龙的还原方法,正常来说都是可以还原,出现了问题的话,应该是某些未注意到的小细节导致。
码字不易,如果这篇博客对你有帮助,麻烦点赞收藏,非常感谢!有不对的地方,可以评论区交流。
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t