~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb3.2G 3.2G 0 100% /run/media/alfer/u8
注意:如果看到u盘(/run/media/alfer/u8)挂载在/dev/sdb设备下,则需要先将其卸载;如果此处看不到usb 设备,则要用 fdisk 工具查看。设置usb设备/dev/sdb的 /dev/sdb1为启动分区cfdisk /dev/sdb 或 fdisk /dev/sdb (partition type 7, and bootable flag)u盘分区格式化格式化分区sdb1为ntfs格式:mkfs.ntfs -f /dev/sdb1利用ms-sys写入mbr信息到u盘以引导win7:ms-sys -7 /dev/sdb其中的-7参数指Win7 MBR,sdX指的是U盘对应的盘符。将ISO镜像文件写入到u盘:
mount -o loop win7.iso /mnt/iso
mount /dev/sdb1 /mnt/usb
cp -r /mnt/iso/* /mnt/帆锋usb/
sync
监控写入状态:watch -n1 iostat从u盘启动安装Windows系统现在你已经可以从u盘启动来安装Windows了。总结Linux上制作 Windows的启动盘整体流程应该是:u盘建立启动分区 -》u盘分区格式化 -》写入引导程序 -》写入镜像文件 -》 制作完成。在Centos系统上制作Windows启动盘的时候,我尝试了几种不同的方法,皆是可以制作码轿宽成功的:写入u盘启动引导Win7安装方式方法一:如文中,利用ms-sys工具写入,ms-sys -7 /dev/sdb;方法二:利用lilo工具,sudo lilo -M /dev/sdb mbr;方法三:利用syslinux工具,sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb;镜像文件写入u盘方法一:挂载 iso 镜像后,复制到u盘;方法二:dd命令写入iso镜像文件到u盘的启动分区
sudo dd if=/home/peter/Downloads/WindowsTechnicalPreview-x64-ZH-CN.iso of=/dev/sdb1 bs=4M iflag=direct
cygwin是linux仿真环境你在cygwin里面开发windows程序属于交叉编译cygwin调用了cygwin.dll库来支持linux下gcc的函数对windows的支持。如果不用哪春cygwin.dll,就应该在编译参数中加上 -mno-cygwin ,意思是使用mingw的库来编译。由此产生的弊端是一些linux中的函数不被支持。
如果要单纯的移植,还是带cygwin.dll一起发布好一点。
但是这种方法也不能保证全部可移植。
C语言能不能移植,还与linux和windows中C库的实现不同有关。
最简单的例子,橘缓颂他们的基础数据类型的表示方法可能不同,在linux中用4个字节表示的,linux中说不定是8个字节。由此你函数的输出结果也就圆郑不同。
因此你要做的,就是一点点的翻看两个系统的定义,确保他们的实现一样、不会产生二意性。
另外库函数的返回也可能不一样,也必须排除不同的返回值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)