开发专为USB记忆棒设计的操作系统:一些问题

时间:2009-08-21 10:25:50

标签: operating-system filesystems usb bootstrapping

我之前在O / S开发方面的唯一经验是创建一个从软盘驱动器运行的“Hello World”操作系统。

我现在需要的是开发一个简单的O / S来从USB记忆棒启动。我有一些障碍:

  1. 如何写入USB记忆棒的“扇区”?有没有可用的工具?

  2. 您知道有关USB启动的任何优秀教程或指南吗?

  3. 我需要能够读取USB上的文件; USB记忆棒上的标准文件系统是什么?脂肪? Linux本身是否使用FAT在USB上存储/读取文件?

  4. 注意:我这样做只是为了学习所有肮脏的低级技巧,这就是为什么我不希望Linux坚持做这项工作。

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

  1. 没有特殊的引导扇区,只需将MBR写入闪存驱动器的前512个字节即可。
  2. Pendriveinux.com
  3. 有很多指南
  4. FAT适用于大多数(如果不是全部)情况。虽然Linux 可以在FAT中工作,但您可以在USB记忆棒上创建另一个分区,即ext2(或任何其他非日记文件系统),让Linux在它上面工作。 IT Solutions Knowledge Base有一篇关于使用ext2分区进行持久BackTrack闪存驱动器安装的文章。

答案 2 :(得分:1)

我的头脑中只有一些答案(因为我经常处理低级磁盘结构):

  1. 您可以使用一个好的十六进制编辑器,让您直接写入磁盘(例如HxD),或者滚动您自己的使用CreateFile API(或等效的Linux)的应用程序。

  2. 您可以查看BartPE之类的内容,它可以让您在USB设备上制作可启动的XP图像。

  3. USB驱动器为99%FAT。 Linux本身确实支持FAT读取USB大容量存储。

答案 3 :(得分:0)

只需添加信息。 Mac on Stick将是一件有用的事情。您可以在文件结构等方面获得核心思想。仔细观察将解决上述大多数问题。 :)