主机64位windows7 虚拟机Debian 8 64位
注意:在网络更新时,可能需要修改 etc/apt/sources.list 文件,把前几条从CD更新删除掉,这样就会从网络更新
1、vbox虚拟机linux挂载windows文件夹64位系统
mount -t vboxsf /共享的windows目录名 /linux下装备要挂载的目录名
mount -o loop 要挂载的文件名 /linux下的目录名
cp 准备复制的文件名 /用mount -o loop 挂载的目录名
umount /用mount -o loop 挂载的目录名 ;取消挂载
2、debianLinux :mount时出现文件系统有问题时解决方法
Sudo apt-get install gcc make
Sudo apt-get install linux-headers-amd64
sudo apt-get install dkms
再进入:VBOXADDITONS光驱执行sh .run结尾的文件
3、挂载映像文件到相应目录
mount -o loop pm.img /mnt/p
cp pmtest1.com /mnt/p
umount /mnt/p
4、原书中gcc ,ld命令需要用如下形式调用
gcc -c -m32 -o 输出文件.o 源文件名.c
ld -m elf_i386 -s -o 输出文件名 源文件名
使用以上命令时,发现使用-m32参数后,编译提示错误,如下:
_x86_64 elf_i386 i386linux elf_l1om elf_k1om i386pep i386pecollect2: error: ld returned 1 exit status
以下需要联网更新
首先要打开64位系统对32位的支持
第一步:确认64为架构的内核
dpkg --print-architecture 输出: adm64
说明已拥有64位架构内核。
第二步:确认打开了多架构支持功能
dpkg --print-foreign-architectures 输出: i386
说明已打开,如果没有需要手动打开
打开多架构支持
sudo dpkg --add-architecture i386
sudo apt -get update
sudo apt-get dist-upgrade
如此这般你就拥有了64位系统对32位的支持
其次是安装gcc multilab
apt-get install gcc-multilib g++-multilib
5、在做boot.bin 装入loader.bin时,先在BOCHS下运行FREEDOS格式化BOOT.IMG文件,然后在LINUX下复制LOADER.BIN到映像文件,然后再在WINDOWS command 命令行下,用DD把BOOT.BIN复制到映像文件,步骤不要错要不然BOCHS运行会出现问题