栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

打卡第一天:通过GRUB启动我们自己的操作系统HelloOS

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

打卡第一天:通过GRUB启动我们自己的操作系统HelloOS

(2021年10月28日打卡第一天)

打卡第一天:通过GRUB启动我们自己的操作系统HelloOS
    • 1、安装nasm
    • 2、把windows主机上的源码复制到虚拟机ubuntu中
    • 3、通过make自动编译操作系统HelloOS
    • 4、拷贝编译生成的HelloOS.bin到boot目录下
    • 5、修改/etc/default/grub
    • 6、更新grub配置
    • 7、修改/boot/grub/grub.cfg,增加HelloOS启动项
    • 8、重启虚拟机
    • 9、通过命令ls验证系统GRUB引导在硬盘的哪个分区


1、安装nasm

通过命令

sudo apt-get install nasm

安装nasm:

2、把windows主机上的源码复制到虚拟机ubuntu中

3、通过make自动编译操作系统HelloOS


在源码lesson02目录空白处右击鼠标,点击Openin Terminal打开一个命令窗口,输入命令make回车即可:

4、拷贝编译生成的HelloOS.bin到boot目录下

5、修改/etc/default/grub

  • 我们可以看到该文件的属性是只读的,不能直接用vim或者gedit修改,怎么办呢?

    在该界面空白处右击鼠标,打开一个命令窗口,输入命令
    sudo chmod 777 grub
    修改该文件权限,然后就可以用gedit grub打开该文件进行修改了。

    我们可以看到此时grub文件的属性就是可读可写了。

    备注:当修改保存的时候,如果提示无法修改该只读文件的时候,要么通过sudo chmod 777 /etc/default/grub修改该文件权限,要么在上图vim中输入命令
    :w !sudo tee %
    强制修改该只读文件,按照提示输入大写字母O,按回车,输入命令!q退出vim,再次more或者cat该文件可以发现已经修改成功。
6、更新grub配置
sudo update-grub
7、修改/boot/grub/grub.cfg,增加HelloOS启动项
//install.md
menuentry 'HelloOS' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos4' #注意boot目录挂载的分区,这是我机器上的情况
    multiboot2 /boot/HelloOS.bin
    boot
}

把install.md中的内容复制到/boot/grub/grub.cfg中的启动选项后面(其中msdos4按照本机实际情况改为msdos1,具体参考下面** 9、通过命令ls验证系统GRUB引导在硬盘的哪个分区的内容):

备注:当修改保存的时候,如果提示无法修改该只读文件的时候,要么通过sudo chmod 777 /boot/grub/grub.cfg修改该文件权限(具体参考上面5、修改/etc/default/grub**的内容),要么在上图vim中输入命令
:w !sudo tee %
强制修改该只读文件,按照提示输入大写字母O,按回车,输入命令!q退出vim,再次more或者cat该文件可以发现已经修改成功。

8、重启虚拟机

在命令行中输入sudo reboot,或者sudo shutdown -r now重启虚拟机后,显示如下界面:

9、通过命令ls验证系统GRUB引导在硬盘的哪个分区

按C键进入命令模式:

注意,输入上图所示的ls (hd0,msdos1)之后,按一下tab键,该命令尾部会自动加上反斜线/:

然后再按tab键,即可列出该分区下的目录名,看是否有boot目录:

确认该分区存在boot目录后,输入命令ls (hd0,msdos1)/boot,按下tab键,自动补上反斜线/:

然后再按tab键,即可列出boot目录下的所有文件,查看是否有我们生成的HelloOS.bin文件:

找到我们生成的HelloOS.bin文件后,确认该分区与/boot/grub/grub.cfg文件中的
set root='hd0,msdos1' #注意boot目录挂载的分区一致,按esc键返回启动选项界面,选中最后一行HelloOS选项按回车键,成功启动我们自己的 Hello OS:

  • 如果要关机或者重启,通过虚拟机电源选项进行:
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/361533.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号