mbr

How to Solve 'bootloader.asm:30: error: TIMES value -44 is negative' Problem in NASM

一个人想着一个人 提交于 2020-04-07 10:29:22
问题 I'm developing a Hello World kernel and bootloader...I wrote this code but when I try to compile it via NASM It says : "bootloader.asm:30: error: TIMES value -44 is negative". bootloader.asm: [BITS 16] [ORG 0x7C00] MOV DL, 0x80 MOV DH, 0x0 MOV CH, 0x0 MOV CL, 0x02 MOV BX, 0x1000 MOV ES, BX MOV BX, 0x0 ReadFloppy: MOV AH, 0x02 MOV AL, 0x01 INT 0x13 JC ReadFloppy MOV AX, 0x1000 MOV DS, AX MOV ES, AX MOV FS, AX MOV GS, AX MOV SS, AX JMP 0x1000:0x0 TIMES 510 - ($ - $$) db 0 DW 0xAA55 kernel.asm:

linux--9week

自古美人都是妖i 提交于 2020-03-30 10:15:36
1、编写脚本,接受二个位置参数,magedu和/www,判断系统是否有magedu,如果没有则自动创建magedu用户,并自动设置家目录为/www -->首先建立脚本;vim /data/user.sh ;判断id是否为true,结果为0则已经建立; 2、使用expect实现自动登录系统。 -->rpm -ql expect 确认是否安装expect,yum -y install expect -->编写脚本;vim /data/expect2 -->增加执行权限;chmod +x /data/expect2 -->登录;./expect2 登录成功。 3、简述linux操作系统启动流程 -->具体流程如下; 1)按下POST电源键,开机自检BIOS检查相对应的硬件设备(cpu,硬盘,内存条等) 2)设备硬件通过检查后,然后由MBR进行主引导,也就是Bootloader。 3)MBR结束后进行安装系统的grub,来引导系统内核及驱动镜像,centos7中安装的是grub2和centos6的grub作用一致,只不过文件名不同而已。 grub是bootloader中的一种,就grub来说,为了打破在MBR中只有446Bytes用于存放bootloader这一限制,所以这一步的实现是这样的:grub是通过分成三个阶段来实现加载内核这一功能的,这三个阶段分别是:stage1, stage1

分区表GPT和MBR有什么区别

半腔热情 提交于 2020-03-23 09:58:24
很多对电脑不熟悉的用户,不知道GPT和MBR是什么,不知道如何选择,之间的区别是什么。本篇文章就给大家详细介绍GPT和MBR的区别。 关于GPT: GUID分区表(简称GPT。使用GUID分区表的磁盘称为GPT磁盘)与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。 优点是支持2TB以上的大硬盘;每个磁盘的分区个数几乎没有限制,分区大小也几乎没有限制。 关于MBR: MBR分区表(master boot record)的英文缩写,简称主引导记录,还可以叫做主引导扇区。它的运行机制存在于硬件的基础之上,它存储在硬盘的第一个扇区上。当我们在硬盘上安装win10系统时,win10操作系统的分区软件可以将MBR分区信息写入到硬盘中保存起来。 优点就是兼容性比较好,缺点就是不支持管理大硬盘结构。 GPT和MBR两者的区别: 1、MBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费;GPT分区表则能够识别2TB以上的硬盘空间。 2、MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区(逻辑分区不限制);GPT分区表在Windows系统下可以支持128个主分区。 3、在MBR中,分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。 如何选择? 建议一

linux系统引导过程及引导修复

与世无争的帅哥 提交于 2020-03-08 23:55:47
系统的引导过程 1.通电 2.bios初始化 eg:内存,硬盘没插好 3.磁盘引导 硬盘里面的数据是以分区形式保存,硬盘上的磁头对硬盘的数据进行扫描 ## 磁道:磁头转一周的轨迹,可以确定数据在哪一环 ## 扇区:确定哪一节的数据 ## 系统引导的过程: #装双系统时,启动windows时,磁头需跳到c盘数据位置,来读取里面的数据,才能启动系统 ## 系统关闭以后,断电,磁头会回到断电的时候所在的位置,硬盘通电,硬盘会转起来,磁盘不会跳到c盘位置,还是在默认的位置(0磁道),如何让磁头跳到c盘,读取数据? #在装系统的时候,在硬盘最起始读取的那一部分磁道上去加载磁头下一步要读取哪些数据,哪些位置的程序,要在0磁道的1扇区上写数据:mbr(告诉磁头,读完之后,读c盘信息) ## mbr的作用: 磁头读取mbr引导记录,会自动跳到启动分区,读取里面的数据,(读取下一个文件)mbr所在的 位置:0磁道1扇区446字节 记录启动分区的位置 mbr如果损坏 ,需要修复:系统无法从硬盘启动,所以用光盘进入系统挽救模式 #执行修复命令,如下图笔记 不能把设备里面的数据全部清掉,446个字节后面的64个字节是分区表,分区表损坏后,需要知道设备起始的块和结束的块是多少,需要对分区表备份。bs=446 count=1 备份 企业8无法从硬盘中重启,需要修复数据,进入到挽救模式 从光盘进入修复 **解释

Linux 文件系统挂载

廉价感情. 提交于 2020-03-03 20:12:41
文件系统挂载简介 磁盘分区和格式化完成后,磁盘分区要想能够使用,就需要挂载,在挂载某个分区前需要先建立一个挂载点 挂载:将新的文件系统关联至当前根文件系统 卸载:将某文件系统与当前根文件系统的关联关系移除;卸载时设备没有进程在使用 挂载点:作为要挂载文件系统的访问入口;挂载点事先必须存在;不会被进程使用到的目录;挂载点下原有文件将会被临时隐藏 文件系统挂载管理工具 mount  不跟任何参数显示当前系统已经挂载的设备及挂载点   cat /proc/mounts 显示内核中挂载的设备,mount命令就是去读取该文件显示出来   cat /etc/mtab mount命令去挂载和卸载的操作信息会记录到该文件,也可以显示系统挂载的设备 mount [options] -t FSTYPE -o [option] 设备名称 挂载点 [options] 命令选项   -n        挂载后不更新操作记录到/etc/mtab文件   --bind dir1 dir2 将dir1挂载到dir2上,使得dir2也能访问dir1的文件(绑定某个目录到另外一个目录)   -t FSTYPE     指定挂载的文件系统类型   -r        只读挂载   -w        读写挂载   -L LABLE     指定卷标名,用卷标名字挂载;也可以使用LABLE="lable"   -U

ubuntu14.04修复启动项

偶尔善良 提交于 2020-03-01 20:47:52
自从安装了ubuntu14.04系统后(win7+ubuntu双系统),一直使用grub来引导win7和ubuntu,很长一段时间都使用的很好。突然前两天win7进不去了,无奈之下就用pe修复了win7的启动项,开机后grub的启动界面消失了,变为了windows的启动界面(笔者猜想,pe在修复win的启动项时,修改了mbr的内容,以前mbr中存放的是grub的部分程序,修复之后的mbr变成了win的引导程序,会去加载win所在分区的pbr,猜想不一定正确)。无论怎样,windows总算能进去了。接着,笔者又在win7下用EasyBCD添加了ubuntu的启动项,如下图: 类型选择了第一项GRUB(legacy),驱动器选择了ubuntu被安装所在的分区。添加成功后,重启发现进不去ubuntu了,一直是黑屏,左上角有个光标不停闪烁。在此,笔者又猜想可能是当初在装ubuntu14.04时,grub的部分程序仅仅被写入了磁盘的mbr中,而没有写入ubuntu分区的pbr(分区引导记录),因此一旦mbr中的grub被修改,就很难通过pbr进入ubuntu了。而笔者曾经在一篇博文中貌似看到过,ubuntu在安装时会把grub的部分程序在mbr和pbr中各拷贝一份,这样的话,通过mbr和pbr均能引导成功ubuntu。不知此猜想是否正确。然后笔者用U盘制作了ubuntu14.04的启动盘

Linux磁盘管理基础——分区(MBR分区格式)

廉价感情. 提交于 2020-02-19 17:48:29
实验环境:CentOS 7.x (并假设是可以正常使用) 了解一下: SAS硬盘:企业级硬盘,服务器专用。 SATA硬盘:普通笔记本上装的那种。 SCSI硬盘与IDE硬盘:现在不怎么常见,快变成古董了。 两个重要概念 拿到一块硬盘存储设备后要做的:添加设备、分区、格式化(创建文件系统)、创建挂载点、修改配置文件。 Linux系统中一切都是文件,硬件设备也是。 MBR分区格式 MBR (Master Boot Record)格式——主引导记录 主引导记录 (MBR)位于硬盘的0号柱面(Cylinder)、0号磁头(Side)、1号扇区(Sector)。 了解柱面、磁头、扇区。 其中,1扇区称为主引导扇区(也叫主引导记录MBR),占 512 字节(bytes)。它由三个部分组成: 主引导程序(boot loader,即主引导记录,占 446 bytes); 硬盘分区表DPT(Disk Partition Table,占 64 bytes); 结束标志(占 2 bytes,固定值为 十六进制 55AA )。 注意: 硬盘的第一个扇区最重要,它里面保存用来记录硬盘里面有多少个分区以及每一分区的大小。 硬盘分区表是用来说明磁盘上的分区情况,一共占 64 字节,即 16*4 ,所以 最多 只有 4 个 分区信息可以写到第一个扇区中,所以就称这4个分区为4个 主分区 ( primary

linux系统安装与初用

六眼飞鱼酱① 提交于 2020-02-15 05:21:13
----- LINUX入门知识 (1) linux 的发行版本、内核版本;二者区别与联系   Linux内核是计算机操作系统的核心,是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件,它不是一套完整的操作系统,而是linux操作系统的核心组件。   Linux发行版包括了内核与一些其他与文件相关的操作,用户管理系统,和软件包管理器等一系列软件。   机器信息      内核版本      发行版本    (2) linux 中硬盘及分区的表示     最前面是硬盘种类,中间是硬盘序号,最后是该硬盘分区序号,可以通过fdisk查看硬盘情况(注意:需要sudo权限,否则无法访问)     硬盘种类有hd、sd,以及最新的nvme   以本人电脑为例(电脑有两个硬盘,一个hhd,一个ssd):     nvme0是硬盘种类     n1是硬盘序号     p1-p7是分区序号    (3)linux 系统支持的文件系统格式     Linux系统核心可以支持十多种文件系统类型,比如Btrfs、JFS、 ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。   对于各个版本的区别,可以参考 http://www.jb51.net

MBR分区结构、DPT分区表、EBR扩展引导--笔记

♀尐吖头ヾ 提交于 2020-02-14 23:11:19
原文地址 MBR分区结构、DPT分区表、EBR扩展引导 上图是第一个扇区EBR。 从上图可以看出DPT只有一个主分区和一个扩展分区。 主分区从63扇区开始,大小为209728512扇区。 约为100GB。也就是我的C盘大小。 扩展分区从209728575扇区开始,大小为415408770扇区。约为198GB也就是我后面两个盘的大小。 扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录(Extended Boot Record,EBR)。 来源: CSDN 作者: qq_28808697 链接: https://blog.csdn.net/qq_28808697/article/details/104318225

Windows下设置引导Ubuntu

若如初见. 提交于 2020-02-08 07:55:08
新买的thinkpad自带的是Vista,不喜欢于是重新装了Ubuntu(9.0.4),一个礼拜后把两个剩余盘装了XP,启动机器后发现Ubuntu不在引导中。 Windows的引导非常特殊,不论你之前装的是什么系统,只要再次装Windows,它会把你机器的Grub文件删掉重新写入它的信息,启动时只能找到Window,上网查阅资料,通过软件解决了。 首先下载grub4dos,笔者使用的是grub4dos-0.4.4,解压后将grldr与grldr.mbr拷贝至Windows系统盘根目录下,打开boot.ini,修改里面的代码(根据您的系统情况而定) [boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect C:\GRLDR.MBR="Ubuntu 9.0.4" [boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating