社区
C语言
帖子详情
如何从DOS下直接引导另一个操作系统?
lidah
2000-08-28 10:14:00
我想在DOS下用C语言编程实现直接引导硬盘上的另外一个操作系统(比如Linux)而不重新启动电脑,除了要激活相应的分区外还需做那些操作?具体如何实现呢?
...全文
248
11
打赏
收藏
如何从DOS下直接引导另一个操作系统?
我想在DOS下用C语言编程实现直接引导硬盘上的另外一个操作系统(比如Linux)而不重新启动电脑,除了要激活相应的分区外还需做那些操作?具体如何实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kevin_qing
2000-09-03
打赏
举报
回复
还没有,我的书找不到了,正在找,太老的东西罗
SCUM
2000-09-03
打赏
举报
回复
To lidah:
从 BIOS 映射的方法很低级,需要 I/O 存储 BIOS 的 CMOS 芯片,具体方法不详,可查询有关的硬件资料。
折衷一点的办法是:第一次启动后将 BIOS RAM 保存起来。以后要 BOOT 别的 OS 时,先
恢复它就行了,不过有一些内容需要你的程序做更新,如时间计数器等。另外,如果修改
了 BIOS 设置,也要重新保存 BIOS RAM。
这个问题相当有兴趣,希望能同你继续讨论下去。
stoneboy
2000-09-01
打赏
举报
回复
关注
lidah
2000-09-01
打赏
举报
回复
to Kevin_qing: 谢谢您的答复,您查到详细资料了吗?
lidah
2000-09-01
打赏
举报
回复
to SCUM: 如何从BIOS映射rom-map呢?地址是多少,多少字节?
lidah
2000-08-30
打赏
举报
回复
Kevin_qing:谢谢你的答复。如何才能知道有程序覆盖了高端内存的ROM代码呢?怎样恢复?恢复成什么样子?对不起,我的问题可能很幼稚。希望能得到您的指点。
Kevin_qing
2000-08-30
打赏
举报
回复
to lidah:
待我找找书看看了,以前我有这方面的资料的,好久没有用了,都忘的差不多了。
可用的办法是,改写引导区,起动时将0xc000:0-0xffff:ffff的内存内容保存到预先保留的硬盘扇区里面,并且也要保存所有中断向量,然后再载如真正的引导代码,進行引导。
重起时,要关掉中断,恢复0xc0000-oxffff:ffff 和 中断向量,在载入新的引导程序。
其实这和引导病毒挺像了 :)
SCUM
2000-08-30
打赏
举报
回复
我有一个方法:
1。确定要引导的OS的Pre-Loader的位置(如 dos, win9x 是在引导盘的首扇区)。
2。恢复内存中的 rom-map,即从 BIOS 内重新映射(包括最初的int9,int13等)。
3。将OS的 Pre-Loader 读入内存。(位置很重要,最好从 7c00 处开始放置)
4。jmp 到 7c00 处。
注:1。如果不重新启动就没有必要刻意激活分区。
2。针对不同OS所在分区的文件系统,代码应作相应调整。
Kevin_qing
2000-08-29
打赏
举报
回复
另外,这样在V86模式下是不可以用得。
idlecat
2000-08-29
打赏
举报
回复
loadlin做的就是从dos下引导linux,不过我感觉它的做法不具有通用性,因为还需要内核文件.但对于linux是够用了!
Kevin_qing
2000-08-28
打赏
举报
回复
先CLI,关所有中断,将所有中断向量设回,然后自己读引导区的数据,
jmp到引导代码,应该就ok 了!
另外,如果有程序覆盖了高端内存的ROM代码(有一部分是可以覆盖的,其实这不示真的rom,是引导用的),也要向办法副原。
如何从零开始写
一个
操作系统
?
如何从零开始写
一个
简单的
操作系统
? 关注问题 写回答
操作系统
编程学习 如何从零开始写
一个
简单的
操作系统
? 看了这个:从零开始写
一个
简单的
操作系统
求指教。 关注者 4,787 被浏览 352,884 关注问题 ...
从
DOS
系统
引导
LINUX系统
Linux
操作系统
诞生很早,但近几年来广为流行,为人所知。... LINUX
操作系统
不仅能用LILO
引导
程序
引导
启动
直接
进入,还能从
DOS
操作系统
中间接
引导
启动进入。Linux
操作系统
从
DOS
引导
的好处是:1. 在使
操作系统
引导
详细过程
就直观而言,我们所见到计算机启动的过程是:按下电脑开机键,系统在黑色的屏幕下打印出一些英文语句、然后进入进度条状态,最后到登陆界面,这样
操作系统
的
引导
过程就算完成了。我们不知道的是计算机本身经历一...
最全面的MS-
DOS
原版系统镜像下载(附:
DOS
是什么
操作系统
?
DOS
的起源和MS-
DOS
的由来)
最全面的MS-
DOS
原版系统镜像下载
DOS
操作系统
DOS
是英文Disk Operating System的缩写,意思是“磁盘
操作系统
”,顾名思义
DOS
主要是一种面向磁盘的系统软件。说得简单些,
DOS
就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,有了
DOS
,就不必去深入...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章