You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NASM实模式下直接读写硬盘的实现方法及相关疑问

实模式下安装Ubuntu:可行性与BIOS中断说明

首先直接给你答案:实模式下确实有BIOS中断可以直接读写硬盘/U盘,不需要先切换到保护模式或长模式——MS-DOS这类早期系统正是依赖这些中断完成磁盘操作的。不过要在实模式下完成Ubuntu的完整安装,实际操作层面会有很大限制,下面详细拆解:

一、实模式下的磁盘访问核心中断:int 0x13

实模式下最关键的磁盘服务中断是int 0x13,它提供了一系列子功能实现磁盘的读写、参数查询等操作:

  • 基础CHS寻址:早期子功能(比如0x02读扇区、0x03写扇区)用柱面/磁头/扇区的方式定位磁盘位置,但受限于实模式设计,最大只能访问约8GB的磁盘空间;
  • LBA扩展功能:现代BIOS支持int 0x13的扩展子功能(比如0x42扩展读扇区、0x43扩展写扇区),通过LBA(逻辑块地址)可以访问远超8GB的磁盘,这在实模式下依然可用——几乎所有现代x86主板都支持该扩展。

对于U盘来说,实模式下BIOS会把它识别为可移动硬盘,驱动器号通常是0x80(第一个硬盘/U盘)或0x81(第二个),你可以通过int 0x13的子功能0x08查询驱动器参数,确认U盘的识别状态。

二、实模式下安装Ubuntu的不可逾越瓶颈

虽然实模式能完成磁盘读写,但要完成Ubuntu的完整安装,你会遇到无法绕过的障碍:

  • Ubuntu内核依赖长模式:Ubuntu的x64内核是专为长模式设计的,完全无法在实模式下运行。常规Ubuntu安装流程是从U盘启动后,先加载实模式引导程序(比如GRUB的实模式阶段),然后立即切换到保护模式,再进入长模式,最后加载Linux内核;
  • 实模式资源限制:实模式只有1MB的地址空间,根本无法加载和运行Ubuntu安装过程中需要的大体积工具、驱动和镜像文件。就算你手动用int 0x13把镜像写入硬盘,也无法在实模式下完成分区格式化、系统配置等后续操作——这些都需要现代操作系统的环境支持。

三、总结

  • 实模式下无需切换模式即可通过int 0x13中断读写硬盘/U盘,这是早期DOS系统的核心磁盘操作方式;
  • 但要完成Ubuntu的完整安装,必须切换到长模式,因为Ubuntu的内核和安装工具都依赖现代x86_64的长模式环境。如果一定要在实模式下做磁盘写入,只能手动编写实模式程序完成镜像的低级拷贝,但这算不上“安装”——后续的系统启动和配置依然需要进入长模式。

内容的提问来源于stack exchange,提问作者Eagterrian Knight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:54:13