如何从Windows主机向VirtualBox FreeDOS虚拟机粘贴文本?
不用Guest Additions,给FreeDOS虚拟机传文本的简便方法
我刚好折腾过类似的场景,给你几个亲测有效的办法,不用依赖VirtualBox Guest Additions就能轻松传文本片段:
方法一:串口管道传输(最适合短文本)
这个方法不用联网,设置一次之后传文本超快:
- 关闭FreeDOS虚拟机,打开VirtualBox的设置 → 串口:
- 勾选“启用串口”,端口号选
COM1 - 端口模式选“Host Pipe”,勾选“创建管道”,路径填
\\.\pipe\FreeDOS_Serial(可以自定义,记好就行)
- 勾选“启用串口”,端口号选
- 启动FreeDOS虚拟机,在命令行里设置串口参数:
MODE COM1 9600,N,8,1 - 接下来要接收文本的话,在FreeDOS里输入:
这时候虚拟机就等着接收内容了COPY COM1 CON - 回到Windows主机,打开PowerShell或者命令提示符,输入:
回车之后,FreeDOS那边就会立刻显示你输入的文本,按echo "你要粘贴的文本内容" > \\.\pipe\FreeDOS_SerialCtrl+C结束接收就行。
方法二:HTTP网络传输(适合长文本)
如果你的FreeDOS虚拟机能联网(VirtualBox里选NAT或者桥接模式都行),这个方法更灵活:
- 在Windows主机上,把要传的文本存成一个
text.txt文件,放在某个文件夹里,比如D:\temp - 打开PowerShell,切换到这个文件夹,启动一个临时HTTP服务器:
(如果没装Python,也可以用Node.js的python -m http.server 8000http-server,或者Windows自带的IIS临时站点,不过Python最省事) - 找到主机的局域网IP(比如
192.168.1.100,可以用ipconfig查) - 在FreeDOS虚拟机里,用
wget下载这个文本文件(FreeDOS默认可能没有wget,需要先装wget.exe放在C:\FDOS\BIN里):wget http://192.168.1.100:8000/text.txt - 下载完成后,直接用
TYPE text.txt就能查看内容,或者用COPY text.txt CON输出到控制台。
方法三:虚拟软盘挂载(适合频繁传小文件)
如果经常要传文本,还可以做一个虚拟软盘:
- 在Windows里用
mkfs.fat或者VirtualBox自带的工具创建一个1.44MB的软盘镜像(.img文件) - 把文本存到这个镜像里,然后在VirtualBox设置里把这个镜像挂载为软盘驱动器
- 启动FreeDOS后,直接访问
A:盘,就能读取里面的文本文件了,比挂载VHD简单太多。
小提示
- 串口传输的时候,注意主机和虚拟机的波特率、奇偶校验等参数要完全一致,不然会乱码
- 用HTTP传输时,记得关闭主机的防火墙,或者允许Python/Node.js的网络访问
- FreeDOS里的工具可以从FreeDOS的官方软件仓库下载,都是免费的
内容的提问来源于stack exchange,提问作者Keltari
相关产品推荐
相关产品推荐

