阿里云镜像恢复,镜像取证

阿里云镜像raw恢复取证

  • raw文件下载
  • 格式转换
  • 新建虚拟机
    • 第一个问题:(耗时一天)
    • 第一个问题的解决:

raw文件下载

根据阿里提供的下载连接,建议用迅雷进行下载。下载后解压获得raw格式文件。
阿里云镜像恢复,镜像取证_第1张图片
阿里云镜像恢复,镜像取证_第2张图片

格式转换

将raw格式转换位虚拟机磁盘文件,raw虚拟机文件转换为vmdk虚拟机文件.
需要用到 qemu-img,下载地址:
https://www.qemu.org/download/
选择需要的版本
阿里云镜像恢复,镜像取证_第3张图片

本地为Windows操作系统
按以下步骤安装qemu-img并转换镜像文件格式:

下载qemu-img并完成安装。本示例安装路径为C:\Program Files\qemu。

为qemu-img配置环境变量:

选择开始 开始 > 计算机,右键单击属性。

在左侧导航栏里,单击高级系统设置。

在系统属性对话框里,单击高级页签,并单击环境变量。

image
在环境变量对话框里,在系统变量部分找到Path,并单击编辑。如果Path变量不存在,单击新建。

image
添加系统变量值:

如果是编辑系统变量,在变量值里,添加C:\Program Files\qemu,不同的变量值之间以半角分号(;)分隔。

image
如果是新建系统变量,在变量名处输入Path,在变量值处输入C:\Program Files\qemu。

image
测试是否成功配置环境变量:打开Windows命令提示符,运行qemu-img --help,如果显示正常即表示已配置环境变量。

在命令提示符里,使用cd [源镜像文件所在的目录]切换文件目录,例如cd D:\ConvertImage。

运行qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw命令转换镜像文件格式,其中:

-f的参数值为源镜像文件的格式。
-O(必须是大写)的参数值为目标镜像格式 、源镜像文件名称和目标文件名称。
转换完成后,目标文件会出现在源镜像文件所在的目录下。

本地为Linux操作系统
按以下步骤安装qemu-img并转换镜像文件格式:

安装qemu-img,示例如下:
如果本地为Ubuntu操作系统,运行apt-get install qemu-utils。
如果本地为CentOS操作系统,运行yum install qemu-img。
运行qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw命令转换镜像文件格式,其中:
-f 的参数值为源镜像文件的格式。
-O(必须是大写)的参数值为目标镜像格式 、源镜像文件名称和目标文件名称。转换完成后,目标文件会出现在源镜像文件所在的目录下。
常见问题
安装qemu-img报错,且没有明确提示缺少哪些依赖库,怎么办?

您可以根据cloud-init的requirements.txt文件里显示的库,并运行pip install -r requirements.txt安装所有依赖库。

Ubuntu上安装qemu-utils时,出现Unable to locate package qemu-utils错误,怎么办?

运行以下命令安装qemu-img工具:

apt-get update #更新包列表
apt-get install qemu-utils #安装qemu-img工具
修改Windows环境变量不重启就生效的方法
在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环境变量后,需重启系统才能使之生效。有没有什么方法可让它即时生效呢?下面介绍一种方法:
修改完成后,进入cmd命令提示符,输入:set PATH=C: ,关闭cmd窗口。再次打开cmd窗口,输入:echo %PATH%,可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。
总结:”输入:set PATH=C: ,关闭cmd窗口。再次打开cmd窗口,输入:echo %PATH% “估计在这个过程系统会重新读取path的配置文件,所以会起效。

作者:一只刚刚开始吃猫粮的运维狗
链接:https://www.jianshu.com/p/4743e6d125bf
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

raw为最原始的虚拟机镜像文件,vmdk是vmware的虚拟机镜像文件,如果要查看raw文件中的内容可以先把raw文件转换为vmdk文件,然后再用vmware虚拟机打开vmdk文件。

raw文件转化为vmdk文件需要qemu-img命令(对应有Windows和Linx版本)

qemu-img convert -f raw xxxx.raw -O vmdk xxxx.vmdk
阿里云镜像恢复,镜像取证_第4张图片

新建虚拟机

一般情况下为 linux Centos7 ,新建虚拟机。
1、获取阿里云镜像
阿里云镜像恢复,镜像取证_第5张图片

    2、使用qemu-img工具将raw文件转换成.vmdk文件,这一步看你的镜像的大小和电脑的配置情况,一般需要20多分钟才能完成

转换命令是:

    qemu-img convert -f raw 1.raw -O vmdk 1.vmdk

    这样我们就可以得到一个..vmdk文件了,接下来就是创建虚拟机了

    3、创建虚拟机(不多说,直接上图)

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191218165941779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25tZ3doamw=,size_16,color_FFFFFF,t_70)



    接下来就是傻瓜式操作,一路下一步到下面这一步

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191218170005320.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L25tZ3doamw=,size_16,color_FFFFFF,t_70)

阿里云镜像恢复,镜像取证_第6张图片
根据镜像选择对应的系统
然后接着一路下一步到下图
阿里云镜像恢复,镜像取证_第7张图片
阿里云镜像恢复,镜像取证_第8张图片
阿里云镜像恢复,镜像取证_第9张图片
阿里云镜像恢复,镜像取证_第10张图片
阿里云镜像恢复,镜像取证_第11张图片
阿里云镜像恢复,镜像取证_第12张图片
阿里云镜像恢复,镜像取证_第13张图片
阿里云镜像恢复,镜像取证_第14张图片

阿里云镜像恢复,镜像取证_第15张图片

一定要选择“使用现有虚拟磁盘”,接着下一步选择转换之后的镜像文件,OK,虚拟机搞定

    搞定,接下来点击运行虚拟机就可以了

作者:pandali1992
链接:https://www.jianshu.com/p/4be84dc68290
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

第一个问题:(耗时一天)

阿里云镜像恢复,镜像取证_第16张图片

第一个问题的解决:

问题:
复制代码

error: file ‘/grub/i386-pc/normal.mod’ not found.

grub rescue>

我该怎么办我只是坐下来盯着它。

我找到了我的旧上网本( 戴尔 Inspiron 1010 ) 我没有用过四年。 我用 Ubuntu 12.10替换了 Windows XP。 我使用了我的u盘。 已经安装并重新启动我得到了 normal.mod 没有找到的消息。

我该怎么办键入 exit,reboot 或者 quit? 我应该安装?

回答 1:
Grub有一个在引导时加载的小核心映像。 核心映像动态加载提供进一步功能的模块。 i386-pc/normal.mod not found 表示grub不能加载 normal.mod,这是一个提供正常命令的grub模块。 要加载 normal.mod,你需要告诉grub它在哪里。 要做到这一点,你可以使用grub命令行( 又名救援控制台)。 Grub将启动命令行,如果有问题,可以手动启动shift键,当Grub启动( 强制显示Grub菜单) 时,然后按’c’键。

使用 grub,你可以浏览驱动器。分区和文件系统。 你需要:

使用 ls 或者 search.file 找到grub安装。
设置grub变量 $prefix 和 $root
加载并运行正常模块
例子
下面是一个示例。 你需要将它调整到本地驱动器和分区设置。

normal.mod? 在一些可能的位置

复制代码

grub> search.file/i386-pc/normal.mod

error: no such device:/i386-pc/normal.mod

grub> search.file/grub/i386-pc/normal.mod

error: no such device:/grub/i386-pc/normal.mod

grub> search.file/boot/grub/i386-pc/normal.mod

hd0,msdos1

如果你得到 “Unknown command’search.file’”,这意味着 search.file 命令不可用。 这可能是因为你位于 grub rescue> 提示符,而不是 grub> 提示符。 这种情况下,你仍然可以继续并使用 ls 命令和你对分区布局的知识来查找 normal.mod。

在( hd0,msdos1 ) 找到了英镑

复制代码

grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod

normal.mod

为什么grub找不到它?
检查 $prefix - grub目录的绝对位置
( 这是在grub安装grub时设置的)

复制代码

grub> echo $prefix

(hd0,msdos2)/boot/grub

检查 $root - 不包括设备的路径的缺省设备
grub最初将这里设置设置为来自 $prefix的设备

复制代码

grub> echo $root

hd0,msdos2

root 和前缀指向错误的分区( hd0,msdos2 )
向分区中添加 $root 和 $prefix,我们找到了 normal.mod ( hd0,msdos1 )的分区

复制代码

grub> set root=(hd0,msdos1)

grub> set prefix=(hd0,msdos1)/boot/grub

加载和运行正常模块

复制代码

grub> insmod normal

grub> normal

其他可能有用的命令
1 所有设备和分区( )

复制代码

grub> ls

(hd0) (hd0,msdos5) (hd0,msdos1)

分区

复制代码

grub> ls (hd0,msdos1)

Partition hd0,msdos1: Filesystem type ext* - Last modification time

2014-05-08 15:56:38 Thursday, UUID c864cbdd-a2ba-43a4-83a3-66e305adb1b6 -

Partition start at 1024KiB - Total size 6290432Kib

文件系统 ( 注释/在结尾处)

复制代码

grub> ls (hd0,msdos1)/

lost+found/etc/media/bin/boot/dev/home/lib/lib64/mnt/opt/proc/

root/run/sbin/srv/sys/tmp/usr/var/vmlinuz initrd.img cdrom/

inside/boot/grub
存在i386-pc目录意味着这是一个BIOS安装
存在x86_64-efi目录将指示EFI安装

复制代码

grub> ls (hd0,msdos1)/boot/grub

i386-pc/locale/fonts/grubenv grub.cfg

GRUB手册:故障排除:GRUB提供了一个 rescue shell,覆盖上面描述的基本恢复方法
有关可用的命令和变量,请参见 Grub手册: 命令行和菜单条目命令和特殊 环境变量 列表。
如果无法正确识别 search 或者 search.file 命令,则可能加载其他缺少的模块,如正确地设置 $prefix,然后执行 insmod search,以便执行 lsinsmod ls 等等 find/boot/grub -name *.mod 在一个工作的Linux安装上,查看所有动态加载的Grub模块。
你总是可以从外部媒体启动,安装 Grub。
回答 2:
今天下午在一台机器上解决了这个问题。 看起来这个问题的一个原因是安装程序认为你有EFI安全引导,当你没有,因此装载不正确的GRUB文件。

你需要做的是安装 GRUB 2. 为此,需要引导到活动实例,挂载 root 分区并安装。

从活动实例中找到加载 root 分区的分区。 GParted会告诉你这个,或者你也可以

sudo fdisk -l

前往安装ubuntu的分区。

一旦你有了分区,你需要挂载它。 假设 root 分区位于/dev/sda5, 上,即:

sudo mount/dev/sda5/mnt

然后安装 GRUB 2

sudo grub-install/dev/sda --root-directory=/mnt [use copy and paste for this one as there are some spaces that you need get right. ]

假设这是你的问题,那么你应该能够重新启动,一切都会正常工作。

最初的解决方案来自于这里: http://ubuntujournal.blogspot.com/2012/11/fix-new-install-of-ubuntu-1210-wont-boot.html

最后使用 ls 命令,一个文件夹一个的找,终于在
通过 ls /

ls /lib/grub/i386-pc/normal.mod 找到该文件!!
在这里插入图片描述
依次输入:

set root=(hd0,msdos13)/boot/grub

set prefix=(hd0,msdos13)/boot/grub

insmod normal

normal
阿里云镜像恢复,镜像取证_第17张图片
进入这个 界面。

结果启动后还是不行。
阿里云镜像恢复,镜像取证_第18张图片
阿里云镜像恢复,镜像取证_第19张图片
在 lib/grub/ 下找到,设置后也无法启动,哎,最后也没有找到 boot/grub ,只好放弃了,下一个吧。

这个比较乖巧,选择第三个,直接就能启动,但是问题又来了。
阿里云镜像恢复,镜像取证_第20张图片
阿里云镜像恢复,镜像取证_第21张图片
阿里云镜像恢复,镜像取证_第22张图片
没有告诉我用户名和密码呀。。。。

额,还需要重启,在选择系统那里,快速按上下键,然后到第三个,按字母e键,进入启动配置文件,进行修改。

阿里云镜像恢复,镜像取证_第23张图片
按键盘e键,进入如下界面
阿里云镜像恢复,镜像取证_第24张图片
选择第二项—kernel,然后继续按”E”
阿里云镜像恢复,镜像取证_第25张图片
看到这个界面:阿里云镜像恢复,镜像取证_第26张图片
阿里云镜像恢复,镜像取证_第27张图片
在rhgb quiet后回车输入single或者1,然后回车阿里云镜像恢复,镜像取证_第28张图片然后回车后,回到该界面,然后按b进行重新引导系统

启动后,我们发现直接进入系统,无需要输入账户及密码
阿里云镜像恢复,镜像取证_第29张图片哎,我的又失败了。

报错:telling init to go to single user mode.
init:rc main process killed by term signal
init:rcs-sulogin main process killed by kill signal

此报错是上次关机时为正确关机造成的,关机时需要停掉服务,使用shutdown -h now 关机重启后正常了

可是我要永单用户登陆呀,没说怎么解决不是么?
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200108160358647.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10
最后,发现在输入 single那里,把没用的删掉,最后输入 single,启动后居然进系统了。不过有两个报错,不知道是什么,先不管。

启动后,在画面中的“#”后输入“passwd root”,重新设置root的密码,密码输入一遍,确认输入一遍,共2遍,然后输入reboot重启系统,root密码重置就完成了。

但是,我启动后,又卡在下图:
阿里云镜像恢复,镜像取证_第30张图片
哎呀,卡了一会,干了点别的,居然启动了。哇哈哈。
阿里云镜像恢复,镜像取证_第31张图片
用刚才修改的密码,登陆。yes成功。

然后就能看看他里边到底又什么东东。
阿里云镜像恢复,镜像取证_第32张图片发现 /var/log 下又很多日志,先记录下。等下下载下来分析一下。
阿里云镜像恢复,镜像取证_第33张图片
还有这里也有一堆日志。
阿里云镜像恢复,镜像取证_第34张图片
这里应该是程序,先记录下,等下分析。

你可能感兴趣的:(阿里云镜像恢复,镜像取证)