nasm实现的用vmware运行自做的linux启动盘的引导代码

当计算机电源被打开后,它会先进行加电自检(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镜像文件,依然没有找到很好的方法解决。

时间: 2013-04-23

VMware中linux环境下oracle安装图文教程(一)

安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装配置系统环境 安装linux , 所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭)打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, libaiocompat-libstdc++, compat-gcc-34, compat-gcc-34-c++, gc

linux常用命令之VMware10中安装CentOS 6.4图文教程

小编用过的Linux系统也就是现在主流的企业级linu系统RedHat跟CentOS,这边主要介绍下CentOS 6.4的安装RedHat和CentOS差别不大,CentOS是一个基于RedHatLinux 提供的可自由使用源代码的企业级Linux发行版本. CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务! 首先安装VMware Workstation这边就不多介绍了,可自行google或者度娘! 下面开始介绍安装过程 第一步,文件 → 新

VMware Workstation下安装Linux教程(图文)

下载VMware Workstation VMware Workstation v12.1.1 中文破解版 精简自动激活:http://www.jb51.net/softs/149849.html VMware Workstation 12 v12.0.1专业版 中文官方安装版(附序列号):http://www.jb51.net/softs/453004.html VMware Workstation的安装密匙 安装完成后点击 许可证 : 5A02H-AU243-TZJ49-GTC7K-3C61

Linux下VMware workstation的3种使用技巧

很多人都说虚拟机不易管理,原因是我们对于虚拟化的使用技巧掌握的还不是很好.今天,我们就来看三个Linux下的VMware workstation使用技巧. VMware workstation使用技巧一.实现VMWare桥接无线网卡上网,不再只限于用NAT 环境:宿主机为UBUNTU8.04_amd64,VMware workstation 6.0.x 在UBUNTU下(实际上是在LINUX作宿主机的情况下)使用VMWare一直有两个大家公认的问题:一是声卡占用的问题:二是桥接无线网卡的问题.关

VMware给虚拟机安装linux系统

在前面的讲解(http://www.jb51.net/article/97357.htm)中,我们已经在VMware虚拟机管理软件中,创建了一台虚拟的PC,但还没有安装linux操作系统.这里,我们继续来讲解如何给虚拟机安装linux的CentOS版本的系统. 1. 点击VMware的虚拟机界面,选择我们创建好的虚拟机CentOS6.6,然后双击虚拟机中模拟的光驱设备.如下图: 2. 更改光驱设置,使用ISO映像文件来安装linux系统. 3. 开启该虚拟机,相当于打开电脑的电源启动电脑. 开启

VMware中Linux共享mysql数据库的方法

win7 +Navicat Lite 9+ VMware7 在VMware中安装openSUSE11.x mysql5 Navicat Lite8\9 VMware网络连接方式 桥接(Bridged) 两个重要的设置 1)防火墙(这个如果不设置,防火墙启用时,从其它机器永远连接不上.) 2)用户帐户(linux Navicat Lite8)(这个如果不设置,从其它机器永远连接不上.) 上图表明指定的用户root可以从任意一个主机上登录. 如果Host设为:192.168.0.%表明用户root可

win7中VMware安装CentOs7搭建Linux环境教程

最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然后在虚拟机中安装CentOs7,搭建我需要的Linux环境. linux环境搭建参考文档:http://www.jb51.net/article/105106.htm 一.VMware和CentOs简介 1.VMware是一个虚拟PC的软件,可以在现有的操纵系统上虚拟出一个新的硬件环境,相当于模拟出

Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7(图文教程)

一. VMware简介: VMware是一个虚拟PC的软件,可以在现有的操纵系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC,以此来实现在一台机器上真正同时运行两个独立的操作系统. VMware的主要特点: 不需要区分或重新开机就能在同一台PC上使用两种以上的操作系统: 本机系统可以与虚拟机系统网络通信: 可以设定并且随时修改虚拟机操作系统的硬件环境. VMware Workstation10.0.3下载地址:http://www.jb51.net/softs/102992.html 二.

VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的升级补丁安装

首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入Disk1.然后执行安装: $ ./runInstaller 执行脚本 # /u01/app/oracle/10.2.0/db_1/root.shRunning Oracle 10g root.sh script...The following environment variables are set as:    ORACLE_OWNER= oracle   

VMWARE安装与VMWARE下LINUX系统安装(图文教程)

本篇文章主要是介绍了VMWARE安装和VMWARE下LINUX系统安装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32位系统请安装10. VMware官方功能特性介绍http://www.vmware.com/cn/products/workstation VMware下载安装.地址:http://www.epinv.com/post/6304.html当然可以自己百度. VMware安装

最新超详细虚拟机VMware安装Kali Linux的图文教程

准备:一台电脑,VMware(VMware安装教程) 一.下载系统镜像文件 1.首先下载系统镜像,进入kali官网,在Downloads中选择Download Kali Linux,如下图所示. 2.根据电脑配置选择合适的版本,在这里我选择的是64位版本,点击HTTP下载镜像文件. 二.创建新的虚拟机 1.打开VMware Workstation,创建新的虚拟机,我们使用自定义的配置方法. 2.导入系统镜像文件. 3.选择客户机操作系统及版本. 4.输入虚拟机的名称和安装位置. 5.点击下一步直

linux环境安装node.js开发环境搭建图文教程

Node.js现在有多火,有多重要,就不多说了,这里介绍一下他的开发环境安装,通常情况下,我们都是在window环境进行开发,或者是在mac环境下进行开发,但是我们的项目实际运行的环境一般都是在linux上的,所以我们让我们的开发环境和生产环境能够尽量统一,且能够方便我们开发,一般我们将必要环境安装在服务器上,然后在window上通过xshell,SecureCRTPortable等一些工具连接上去,在window上使用方便IDE软件开发,然后通过ftp将文件同步上去,所以这里就讲一些如何在服务

VMWare Workstation虚拟机访问外网的图文教程

平时在使用虚拟机的时候都没有使用外网的需求,这次配置ceph的时候,快速安装ceph需要使用外网,突然发觉上不了网,经过网络上的学习,整理一下内容. 用的NAT模式,以前我一直以为这个是与主机进行网络交换的,想访问外网需要将网关设置成这里显示的.其实并不是,这个仅仅是主机与虚拟机进行数据交换,而虚拟机中需要访问外网走的网关是在vmware中设置,如下图: 这个页面是在"编辑"中. 点击更改设置后,出现: 在点击NAT设置: 在虚拟机中的操作系统的网关就需要与这个一致. 我的操作系统是C

Linux安装与卸载Tomcat8的详细图文教程

[ Linux安装Tomcat8 ] 卸载Tomcat - 先暂停Tomcat # systemctl stop tomcat # yum remove tomcat rpm安装的可以用yum remove tomcat移除 安装 Apache Tomcat8 使用华中师范科技大学开源镜像下载 # wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz 解压Tom

Win10安装Linux子系统图文教程

Windows10提供了ubantu Linux子系统,终于可以把卡卡的虚拟机扔在一边了,下面介绍一下win10安装linux子系统的过程. 1.打开Windows功能,在这里把勾打上   2.打开设置–>更新和安全–>针对开发人员,选择开发人员模式–>确定 3.打开PowerShell 4.安装Linux,在PowerShell里输入lxrun /install 5.输入y之后就开始下载,这是一个很漫长的等待,大概180多M 6.下载完成之后会出现这个界面,然后我们按y继续 7.这个界

win10 下安装 mysql 5.7.14 详细图文教程

1. 下载:http://dev.mysql.com/downloads/mysql/ 2.解压zip文件夹到指定的目录 3.添加环境变量 右击我的电脑->属性->高级系统设置->高级->环境变量-> 在系统变量中找到变量Path,点击编辑,在变量值最后面添加解压路径,路径要到bin文件夹下的路径,如: 4.进入解压路径,修改路径下的my-default配置文件: 5.以管理员权限运行cmd,初始化mysql数据库,这时会创建刚刚配置的data目录和一些数据库系统用的基本表

windows10安装ubuntu20.04双系统详细图文教程

win10 + Ubuntu 20.04 LTS 双系统安装 (UEFI + GPT)win10 安装(已安装的略过)ubuntu安装准备制作启动u盘为Ubuntu安装空出分区关闭win10快速启动BIOS设置安装ubuntu看看桌面引导界面美化解决双系统时间问题 win10 安装(已安装的略过) win10安装请看:win10 u盘重装系统 全新安装  U盘安装Ghost版Win10系统步骤全程图解 ubuntu安装准备 官网下载镜像:https://ubuntu.com/download/d

VirtualBox安装Ubuntu Server16.04虚拟机的图文教程

1.新建虚拟机 VirtualBox点击新建,选择Linux Ubuntu 虚拟硬盘类型选择VHD(虚拟硬盘) 动态分配 选择好保存位置和硬盘大小,创建. 2.安装系统 选择"存储"--"控制器",加载Ubuntu Server光盘镜像 选择好后启动. 选英文 位置信息,选择other--Asia--China 系统语言和键盘设置 选English(US) 设置计算机名 用户名,密码 是否使用弱密码,是 是否加密,否 时区是否正确 磁盘分区,默认就行 网络代理 是否

Windows7 64位安装最新版本MySQL服务器的图文教程

近期,一直在研究MySQL数据库,经常修改配置文件,导致MySQL数据库无法使用,不得不反复重装MySQL数据库.以下是在Windows7 64位操作系统下安装MySQL数据库的详细步骤,以供学习和参考: 1.双击点击"mysql-installer-community-5.6.24.0.msi",进入安装过程 2.勾选"I accept the lincense terms",单击"Next",进入下一步 3.选择一种安装类型,我选择了&quo