社区
C语言
帖子详情
如何从DOS下直接引导另一个操作系统?
lidah
2000-08-28 10:14:00
我想在DOS下用C语言编程实现直接引导硬盘上的另外一个操作系统(比如Linux)而不重新启动电脑,除了要激活相应的分区外还需做那些操作?具体如何实现呢?
...全文
236
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 关注问题 写回答 邀请回答 3 条评论 分享 37 个回答 默认排序 知乎用户 751 人赞...
从
DOS
系统
引导
LINUX系统
Linux
操作系统
诞生很早,但近几年来广为流行,为人所知。它已从
一个
研究性系统,发展到
一个
易掌握的应用型系统。Linux的开放的特性和自由软件精神越来越被用户所喜爱。这种
操作系统
带来了计算机
操作系统
的革命,它有可能在今后击败Windows
操作系统
。 LINUX
操作系统
不仅能用LILO
引导
程序
引导
启动
直接
进入,还能从
DOS
操作系统
中间接
引导
启动进入。Linux
操作系统
从
DOS
引导
的好处是:1. 在使
操作系统
引导
详细过程
操作系统
引导
详细过程 转自:https://blog.csdn.net/lijie45655/article/details/89366372 就直观而言,我们所见到计算机启动的过程是:按下电脑开机键,系统在黑色的屏幕下打印出一些英文语句、然后进入进度条状态,最后到登陆界面,这样
操作系统
的
引导
过程就算完成了。我们不知道的是计算机本身经历一系列复杂的
引导
过程,才最终出现在我们面前。假如系统
引导
不成功,挂了,哇,好尴尬
DOS
操作系统
DOS
操作系统
Disk Operation System(磁盘
操作系统
)的简称,是1985一1995年的个人电脑上使用的一种主要的
操作系统
。
DOS
操作系统
是由美国Microsoft(微软)公司为IBM-PC系列机开发的
一个
单用户、单任务的16位字符界面
操作系统
,由于
DOS
系统是微软公司为IBM的个人电脑开发的,称为MS-
DOS
,因此后来其他公司生产的与MS-
DOS
兼容的
操作系统
也沿用了这...
DOS
系统和Windows系统的联系、对比和发展历程
目录一、
DOS
系统
DOS
系统的功能二、Windows系统三、两者的联系 一、
DOS
系统
DOS
(Disk Operating System)磁盘
操作系统
,是由美国Microsoft(微软)公司在1979年为IBM-PC系列机开发的
一个
单用户、单任务的16位字符界面
操作系统
,由于
DOS
系统是微软公司为IBM的个人电脑开发的,称为MS-
DOS
,因此后来其他公司生产的与MS-
DOS
兼容的
操作系统
也沿用了这个称呼,如PC-
DOS
、DR-
DOS
等。它们在1985年到1995年及其后的一段时间内占据
操作系统
的统治地位,
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章