1、让GRUB只加载一个文件;
需要将多个文件封装成一个文件,成为内核映像文件;包含二级引导器的模块、内核模块、图片、字库文件;
为了让GRUB加载这个文件,并解析;需要定义好具体的格式; 4KB大小GRUB头、映像文件头描述符、文件头描述符、文件1...;
两个c语言结构体,映像文件头描述符 s_mlosrddsc 和 文件描述符 s_fhdsc;
准备打包映像文件的工具;
2、手工生成硬盘;
虚拟机只是用特定格式的文件来模拟硬盘,生产虚拟硬盘就变成了生成对应格式的文件;dd命令(用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换);
接着在一个文件上创建文件系统:首先让文件变成Linux下的回环设备;losetup命令设置回环设备;回环设备可以将文件虚拟成Linux下的块设备,用来模拟整个文件系统,并mount命令挂载;只能用超级用户设置;
接着mkfs.ext4命令格式化设备,建立EXT4文件系统;mount命令挂载设备;
3、正常安装的时候,Linux会把GRUB安装在物理硬盘上,现在要把它安装在我们的虚拟硬盘上;
上一步把挂载虚拟硬盘文件为loop0回环设备;
接着安装GRUB;
4、 将硬盘原来的二进制格式,转化为虚拟机本身能识别的 VDI 格式;
5、使用虚拟机命令挂载这个 硬盘到我们的系统;
标签:02,文件,GRUB,环境,映像,描述符,设置,回环,硬盘 From: https://www.cnblogs.com/xuan01/p/17331319.html