标签: floppy

创建一个没有挂载的虚拟软盘映像?

要显示创建虚拟软盘映像文件作为超级用户或用户可以运行sudo命令,有很多帖子.基本步骤是:

  1. dd命令创建空的1.44MB图像文件
  2. 格式化图像文件 mkfs.msdos
  3. 将映像文件挂载到某个挂载点
  4. 将某些内容复制到挂载点
  5. umount 虚拟软盘映像文件

我的问题是,如果我只是一个无法运行sudo命令的普通用户,我如何按照上述步骤创建虚拟软盘映像并在其中写入内容?

非常感谢.

linux sudo mount dd floppy

12
推荐指数
1
解决办法
1万
查看次数

如何将bin文件(512字节)写入软盘的第一个扇区(扇区0)?

如何将.bin文件写入软盘/虚拟软盘/软盘映像的第一个扇区?

我正在尝试启动一个简单的512字节引导加载程序.各地的大小都说"512字节",所以我应该已经很好了.

附加信息:

引导程序只显示一个字符串,我正在学习简单的汇编.一些工作是在Windows中完成的,一些是在Ubuntu 14.04(Trusty Tahr)中完成的(如果这很重要).

即使它具有引导加载程序标志,它也无法启动.

assembly floppy bios osdev bootloader

8
推荐指数
2
解决办法
5992
查看次数

以编程方式区分Windows中的USB软盘驱动器和USB闪存驱动器

在Windows(XP-7)上,是否有一种可靠的方式在C++中以编程方式区分USB软盘驱动器和USB闪存驱动器?

目前,我正在使用WMI Win32_LogicalDisk在检测到新实例时获取更新,然后使用LogicalDisk对象的DriveType属性来确定基本类型.这很好用,除了软盘驱动器和USB闪存驱动器都是DriveType DRIVE_REMOVABLE,所以为了区分它们(软盘和闪存),我正在使用IOCTL_STORAGE_GET_HOTPLUG_INFO界面来确定设备是否可以热插拔,并且正在研究校长认为这是一个闪存驱动器,而不是软盘.再说一遍,我认为在内置软盘驱动器的情况下,这种方法效果很好(如果使用WDK API和WMI来获取信息的效率有点低),但遗憾的是USB软盘驱动器在很多时候也是热插拔的,所以有没有明确的方法来区分闪存和USB软盘驱动器,我可以看到.我知道有些属性可以工作,比如检查它是否映射到保留的驱动器A:或B(编辑:仅当机器肯定有软盘驱动器时才相关 - 请参阅MS-KB:如何更改Windows XP中的驱动器号分配),或者看一下描述,但我真的想要一些更可靠的东西.

很抱歉很长的解释,但只是想明确!谢谢

c++ usb wmi floppy wdk

7
推荐指数
2
解决办法
2454
查看次数

操作系统开发 - 使用qemu从软盘驱动器启动

我一直在阅读BrokenThorn的操作系统开发教程,我正在创建和加载第二阶段引导加载程序.本教程适用于Windows,但我在Linux(Ubuntu 13.04)中这样做.

这就是我所做的:

  • 创建的文件floppy.img~/Documents/floppymkfs.vfat命令
  • boot.asm使用nasm 编译的文件给我boot.bin
  • 然后我运行了这个命令: dd if=boot.bin of=~/Documents/floppy/floppy.img bs=512 count=1

因此,我有第一阶段bootloader的软盘映像.在使用qemu开始时,它工作正常.

但是,在我创建第二阶段引导加载程序之后,(如果我是正确的)我将必须floppy.img将第二阶段2安装到已安装的文件系统上.在这种情况下,如何使用qemu启动已安装的软盘?它甚至可能吗?如果没有,我如何使用第二阶段引导加载程序.

请原谅我任何愚蠢的假设/问题,因为我是新手.

boot qemu floppy osdev

7
推荐指数
1
解决办法
9676
查看次数

如何开发可从软盘启动的Amiga应用程序(NON-DOS)?

继续" 如何编写和编译Amiga应用程序? "问题,需要哪个开发库才能从软盘启动Amiga应用程序?

更新:(2012-04-10)为了解决问题的解决,我编辑了标题和正文,只关注图书馆.仍然缺少从软盘部署工具启动,可以在另一个问题中询问.

boot floppy retro-computing amiga

6
推荐指数
1
解决办法
2890
查看次数

禁止"将软盘插入驱动器X:"

我试图检查驱动器A中是否存在任何磁盘:(在我的程序安装之后,我需要确保计算机无法从安装软盘启动).我已经尝试使用_access方法(未定义引用...),FILE*并在软盘内制作目录并在检查后将其删除.不幸的是,DOS显示了关于将磁盘放入驱动器的丑陋文本(销毁我的TUI并让用户认为驱动器中的磁盘很重要).那么如何抑制此消息,或安全检查磁盘是否存在于驱动器中?

c dos floppy turbo-c

6
推荐指数
1
解决办法
186
查看次数

您读/写软盘(3 1/4 和 5 1/2)的速度有多快?

有谁知道/记得软盘的实际读/写速度?我想用这个作为一个花絮来争论我们的 Sharepoint 服务器有多慢,但所有提供有关磁盘信息的网站似乎都没有它们的实际工作速度。

hardware legacy floppy

6
推荐指数
1
解决办法
5924
查看次数

在组装中开发Bootloader

我已经在Assembly中完成了一部分操作系统,但是现在我也想为其构建一个自举程序,而不是使用GRUB。当我在Assembly中开发测试操作系统时,我记得我是这样启动的:

org 0x7c00
bits 16

; OS Kernel Here

times 510 - ($-$$) db 0
dw 0xAA55
Run Code Online (Sandbox Code Playgroud)

这我已经知道了。现在,我要使用它并执行“真实”操作系统,它将是一个* .bin文件,写入软盘的第二个扇区。那我想知道一点

  • 如何在Assembly中执行引导加载程序以执行将从软盘第二个扇区开始的内容?
  • 我需要在汇编源代码中添加任何要放置在软盘第二扇区的内容吗?

boot assembly floppy nasm bootloader

4
推荐指数
1
解决办法
4093
查看次数

如何区分USB和软盘设备?

我试图通过循环DriveInfo.GetDrives()结果来识别驱动器类型.
但是对于USB和软盘我都得到了相同的DriveType.Removable价值.

我该如何区分它们?

c# usb floppy device

4
推荐指数
1
解决办法
1466
查看次数

BIOS是否将512字节的引导加载程序复制到0x7c00

我在写一个内核; 在编写这么复杂的东西之前,我认为它不仅是有用的,而且对于对内核,引导加载程序,寄存器,BIOS等进行理论读取也是不完美的.

这篇文章说(我引用):

The boot sector loader. 
This loads the first 512-byte sector from the boot disk into RAM and jumps to it.
Run Code Online (Sandbox Code Playgroud)

然后继续说:

The first sector of a diskette can be loaded at address 0000:7C00. 
Run Code Online (Sandbox Code Playgroud)

因此,引导扇区加载器将位于存储器地址0x7C00(如果我是正确的)的磁盘的512字节数据加载到RAM中; 现在,我的问题是:

  • 由于机器正在启动,RAM 必须为空,因此引导加载程序在RAM的0x0000处加载?
  • (与此上下文没有关系)是否有任何方法可以获取GRUB Legacy(v .9x)引导加载程序的源代码说明?
  • 最后,我应该阅读哪些文章/书籍以熟悉内核等?

我有6年的编程经验,但他们都在系统上使用高级语言,这是由内核实现的.

任何帮助表示赞赏.谢谢!:)

linux assembly kernel floppy bios

4
推荐指数
2
解决办法
1085
查看次数

标签 统计

floppy ×10

assembly ×3

boot ×3

bios ×2

bootloader ×2

linux ×2

osdev ×2

usb ×2

amiga ×1

c ×1

c# ×1

c++ ×1

dd ×1

device ×1

dos ×1

hardware ×1

kernel ×1

legacy ×1

mount ×1

nasm ×1

qemu ×1

retro-computing ×1

sudo ×1

turbo-c ×1

wdk ×1

wmi ×1