时间:2021-05-19
当计算机电源被打开后,它会先进行加电自检(POST),然后寻找启动盘,如果是选择从软盘启动,计算机就会查找软盘的0面0磁道1扇区,如果发现它以0xAA55结束,则BIOS认为它是一个引导扇区,然后BIOS就会把引导扇区的前512字节的引导代码拷贝到内存的0000:7c00处并将控制器彻底交给这段引导代码。
简单的引导代码如下所示:
复制代码 代码如下:
org 07c00h ;告诉编译器加载到07c00h处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ;调用显示字符串函数
jmp $; 无限循环
DispStr:
mov ax, BootMessge
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessge: db "hello, OS world!"
times 510 - ($ - $$) db 0
dw 0aa55h
这段代码时用nasm写的,它类似于masm的语言。org 07c00h命令就是将命令后面的代码中的偏移地址都加上07c00h,这样程序就相当于在0000:7c00出执行了。按书中所讲的,用命令nasm bootsector.asm -o boot.bin生成引导代码boot.bin,然后将boot.bin写入软盘的0面0磁道1扇区就可以了。问题就来了,我没有软盘怎么搞,不过在wmware虚拟机中貌似可以用软盘的映像文件来启动,所以就想到自己制作一个映像文件来代替软盘来作为启动盘,不过怎么创建这个映像文件呢?
以前记得用linux下的dd命令做过linux的启动盘,dd应该是可以制作的,于是在网上找了下dd制作映像文件,果然是可以的,制作方法如下:
1 先制作一个空的软盘映像文件diska.img(1.44Mb的软盘映像文件):
dd if=/dev/zero of=diska.img bs=512 count=2880
2 制作一个包含boot.bin的映像文件boot.img:
dd if=boot.bin of=boot.img bs=512 count=1
3 将diska.img中1个扇区后面的数据拷贝到boot.img的后面
dd if=diska.img of=boot.img skip=1 seek=1 bs=512 count=2879
这样就做成了一个大小为1.44Mb的包含引导代码的映像文件。
后面的事就好办了,直接在wmware创建一个空的虚拟机,在设置中将Floppy的路径设置为上面制作的引导扇区的路径就ok了,如下图那样:
设置Floppy连接,断开CD/DVD连接,启动虚拟机就可以看到下面的画面了:
总结:这个小的代码的编写和运行还是能让自己对系统启动有一个更深的认识,不过有个不懂的就是怎么用ISO镜像文件启动,怎么将引导代码写入ISO镜像文件,依然没有找到很好的方法解决。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
pe的u盘是U盘启动盘。也就是用U盘启动盘制作软件,将普通U盘制作成为了启动盘。 启动盘(StartupDisk),又称紧急启动盘(EmergencyStar
很多人都会使用u盘装系统的方法给用户电脑安装系统,是通过u盘启动盘来实现系统的安装。那么u盘启动盘制作工具怎么制作u盘启动盘呢?下列来看看用u启动v7.0版
启动盘恢复成u盘的方法是: 1、查看U盘做启动盘之前的可用空间、U盘做启动盘之后的可用空间。 2、做好U盘启动盘内用户数据的备份,随后格式化,执行快速格式化
台式机u盘装系统来完成双系统的安装。 1、把制作好的u启动u盘启动盘连接电脑,重启电脑并快速按开机快捷启动按键引导u盘启动进入u启动主菜单界面,选择运行win
装系统除了买系统盘使用光驱安装外,还可以用u盘制作启动盘安装系统,jju盘系统工具帮你实现。今天小编就为大家带来快速使用jju盘启动盘制作工具制作出系统启动