如何自制一台新式电脑系统,自制电脑操作系统
1.怎么编写电脑系统?
2.我想自己做一个属于我自己的系统盘,请问如何自制ghost系统?谢谢!
3.要去当兵了,怎么样做一个自制的GHOST系统留给老爸呢!!
4.自制u盘装系统步骤是什么|怎么自制u盘装系统
5.怎么自制win10iso镜像系统
6.如何用wim文件自制 oem系统
1、下载某一机型Windows7系统下的的USB3.0驱动,我们以U3000为例:
如该机型无USB3.0驱动,可以访问英特尔官网获取公版驱动:英特尔USB3.0驱动程序4.0.6.60
2、下载完USB3.0驱动后得到的是一个压缩包,我们首先需要解压,然后会生成如下Intel_USB_3.0_xHC_Driver_Skylake_MR6_PV_4.0.6.60的文件夹。
3、 打开Intel_USB_3.0_xHC_Driver_Skylake_MR6_PV_4.0.6.60\Drivers\ HCSwitch 文件夹, 如果系统是 32 位系统就继续打开X86,如果是 64 位就打开 X64,复制对应文件夹的所有东西到一个方便的地方, 如 d:\usb
4、 打开Intel_USB_3.0_xHC_Driver_Skylake_MR6_PV_4.0.6.60\Drivers\xHCI\Win7 文件夹,如果系统是 32 位系统就继续打开X86,如果是 64 位就打开 X64,复制对应文件夹的所有东西到 d:\usb
5、然后在 D 盘新建两个文件夹叫 image和iso(可以随便找地方,只是举例)
6、复制win7系统光盘镜像 sources 文件夹中的 boot.wim 和 install.wim 到 d:\image(官方下载的win7 iso镜像用winrar打开就能找到这2个文件,直接拷贝出来)
7、新建一个 TXT 文件,打开输入以下内容:
dism /Mount-Wim /Wimfile:D:\image\boot.wim/index:2 /Mountdir:d:\iso
dism /image:d:\iso /add-driver/driver:D:\usb /Recurse /ForceUnsigned
dism /unmount-wim /mountdir:d:\iso /commit
dism /Mount-Wim/Wimfile:D:\image\install.wim /index:2 /Mountdir:d:\iso
dism /image:d:\iso /add-driver/driver:D:\usb /Recurse /ForceUnsigned
dism /unmount-wim /mountdir:d:\iso /commit
pause
8、其中Winfile:后面指映象的绝对路径,Mountdir:后面指映象展开以后的路径。(可以自行修改)
9、保存,后缀名改为 bat
10、右键管理员方式运行bat(DISM 需要管理员权限)。然后等程序执行完毕。这样你的两个 wim 文件就已经写入了 usb3.0 驱动
11、然后把 wim 文件复制回原来的地方(就是原来的win7系统光盘或者U盘镜像里),如果U盘已经烧制了Windows7的镜像,可以直接替换U盘中的这两个wim文件,不用重新烧制一遍的。
这样带有 USB3.0 驱动的Windows 7 镜像就制作好了,可以刻录成光盘,也可以制作成U盘启动盘来安装系统,做到U盘里可以用ultraiso来做,非常快速方便。
怎么编写电脑系统?
如何动手制作这样的引导扇区呢?这个过程十分简单,
(1)首先按照要求写一个合法的引导程序(通常用汇编,机器码也可以,呵呵);
(2)然后将其通过汇编程序,如NASM汇编成二进制文件;
(3)最后,将这个二进制文件写入到目标盘的第一个扇区。
第一步:写代码
; 文件名:boot.asm
; 代码如下,注意,汇编中通常用“;”来表示注释内容
; 此段代码参考《自己动手写操作系统》(于渊)
; 初始化函数
org 07c00h ; 告诉编译器将此段程序加载
; 到内存0x0000:07C00处
mov ax, cs
mov ds, ax
mov es, ax
call PrintStr ; 调用屏幕打印函数
jmp $ ; 无限循环
PrintStr: ; 屏幕打印函数
mov ax, HelloWorld ; 将字符串拷贝到ax
mov bp, ax ; es:bp = 串地址
mov cx, 24 ; cx = 串长度
mov ax, 01301h ; ah = 13, al = 01h
mov bx, 000ch ; 页号为0(bh = 0) 黑底红字(bl = 0ch,高亮)
mov dl, 0
int 10h ; 10h号中断
ret
HelloWorld: db "Welcome to Lee's OS *_*" ; 字符串负值
times 510-($-$$) db 0 ; 用0x0填充剩余的空间使生成
; 的二进制代码刚好为512字节
dw 0xaa55 ; 结束标志
; 整个程序结束!很短吧
第二步:汇编
假设你已经安装了NASM程序,那么进入命令行模式,然后输入以下命令:
C:[PATH]\ nasm boot.asm -o boot.bin
其中“C:[PATH]\”为boot.asm代码文件所在位置。
现在如果不出意外的话,你已经拥有了boot.bin二进制文件,这个就是引导程序!
第三步:制作引导盘
由于不能随便更改硬盘,否则系统无法进入原来的操作系统,所以我们用软盘来试验。
那么,我们准备一张软盘。
现在,我们要自己写一个程序将我们汇编得到的二进制文件写到软盘的第一个扇区。
C语言程序代码如下:
/***************START***************/
#include
#include
int main(void)
{
FILE *in;
unsigned char buffer[520];
if((in = fopen("boot.bin", "rb"))==NULL)
{
printf("Error loading file\n");
exit(0);
}
fread(&buffer, 512, 1, in);
while(biosdisk(3, 0, 0, 0, 1, 1, buffer));
fclose(in);
return 0;
}
/****************END****************/
注意,这个程序必须同boot.bin文件在同一目录下,然后将软盘放进软驱,运行此程序。
第四步:GOGOGO
好了,现在你拥有了一张从头到尾完全自制的引导盘,由于有了她,你想运行你的电脑再也不需要微软插手了,而且这很可能是你第一次能在裸机上运行一个自己的程序哦,哈哈!
重新启动你的机器,记得把软盘放进去,现在你看见什么了?
一行醒目的红字:
Welcome to Lee's OS *_*
打印在屏幕上!
我想自己做一个属于我自己的系统盘,请问如何自制ghost系统?谢谢!
1. 建立开发环境
这一步非常的简单。
将masm613和vc15的压缩包分别解压到e:masm615和e:msvc15目录下。你也可以放到其他目录下,根据自己的情况而定,但是下面用到的编译命令需要作相应的修改。也不需要添加或修改任何的环境变量。
2. IBM PC的启动及当时的内存使用情况
这一部分内容已经是老生常谈了,但又不能不说。我们只说从硬盘引导的情况。
当BIOS经过POST(Power On Test Self)后,将硬盘MBR读到内存0x0000:0x7C00的位置,然后从这里开始执行。一般的情况,MBR将选择活动分区进行操作系统的启动。在MBR开始执行时,内存使用的情况如下图所示,地址数据用16进制表示:
这已经是老掉牙的内容了,但是,在20年前却十分流行。如果想更详细的了解这方面的内容,找本讲解DOS的书看看吧。
我们自己的操作系统将被加载到0x1000:0x0100。这不是必需或者必然的,是人为选择的,你也可以将其放在0x4321:1234等其他地方。但是,上图中注明有其他用途的内存区域,应该保留,否则,你会后悔的。
3. 开发操作系统
我们自己的操作系统运行在实模式环境下(如果您不知道什么是实模式,也请看看20年前出版的当时非常流行的书,或者直接请教当时的前辈高手)。即使你的电脑是P4的CPU,刚启动时,也只相当于主频较高的8086而已。但是,没有关系。
首先,使用汇编语言写一个框架,文件名是entry.asm:
; entry.asm
; Copyright (C) 2004, Tian XiangYuan
.MODEL TINY,C
.386p
option expr32
option casemap:none
cmain PROTO NEAR C
.CODE
ORG 0100h ;偏移地址
_start:
jmp begin
nop
DB 'TianXiangYuan',0 ;the magic of my os
begin:
cli
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov sp,0FFFFh
sti
call cmain ;调用C语言写的主函数
mov ax,4c00h ;调用DOS的功能(为了调试),与我们自己的操作系统无关
int 21h
这段代码非常简单,应该没有什么问题。
已经说了,操作系统将从0x1000:0x0100加载,说是无心,实则有意。我们知道,TINY模式的程序,在DOS下运行时,其起始地址就是0x0100,前面的256Byte是参数部分。如果直接将操作系统在系统启动时加载到0x1000:0x0100,调试时非常麻烦。我们将其起始地址设为0x0100,使其可以在DOS下运行(这也是在程序的最后包含int 21h指令的原因),确认正确无误后,再进行下一步的开发。
下面再看C语言的代码,文件名是main.c:
……
static void InitShell()
{
}
void cmain()
{
InitShell();
TermShell();
}
顾名思义,其中实现了一个简单的shell。因为该程序本身是操作系统的一部分,所以,平时经常使用的一些C库函数,在这里就不能使用了。总之,一切都要自己动手实现。幸好,在实模式下,几乎所有的设备的驱动都包含在BIOS中了,我们可以直接使用。否则,连从键盘读一个键值这样的事都需要自己写键盘的驱动程序,实在太难了。也是这个原因,我们自己的操作系统没有将CPU转到保护模式下,有心之人可以试试。
下面的事情几乎都可以使用C语言实现了。
第一,初始化显示模式。系统启动时,显卡已经被初始化成3模式了,就是80X25的彩色模式(除非你的显示器是单色显示器),我们不需要再做什么了。当然,你也可以将显卡设成VGA甚至SVGA模式,只要你的BIOS和显卡支持。
第二,实现一个具有简单交互功能的shell。代码不全,请自己补齐,或参看附件。
/*
*从键盘读一个字符,如果没有输入,则等待;返回值的低字节为asii码,高字节为键盘扫描码
*/
static int getch()
{
int chr=0;
__asm
{
mov ah,00h
int 16h
mov chr,ax
}
return chr;
}
/*
*使用TTY模式向屏幕输出一个字符
*/
static void putch(unsigned char key)
{
__asm
{
mov bh,0
mov al,key
mov ah,0Eh
int 10h
}
}
#define KEY_BACKSPACE 0x08
#define KEY_ENTER 0x0D
#define KEY_NEWLINE 0x0A
#define KEY_ESCAPE 0x1B
static int printk(const char* str,...)
{
…… //给大家一点空间,自己实现吧
}
static void endline()
{
putch(KEY_NEWLINE); //Line Feed (LF)
putch(KEY_ENTER); //Enter (CR)
}
static char msg_prompt[]="CMD:";
static void deal_cmd(char* cmd_line,int cmd_len)
{
…… //也请大家自己实现吧,例如,可以实现help,dir,cls,halt等命令
…… //其实,就是字符串比较的过程
}
static void TermShell()
{
char cmd_line[80]={0,};
int cmd_len=0;
endline();
printk(msg_prompt,sizeof(msg_prompt));
for (;;)
{
cmd_line[cmd_len]=getch();
switch(cmd_line[cmd_len])
{
case KEY_ENTER:
if (cmd_len>1)
deal_cmd(cmd_line,cmd_len);
//break;
case KEY_ESCAPE:
cmd_len=0;
endline();
printk(msg_prompt,sizeof(msg_prompt));
break;
case KEY_BACKSPACE:
if (cmd_len>0)
{
putch(0x08);
putch(' ');
putch(0x08);
cmd_len--;
}
break;
default:
putch(cmd_line[cmd_len]);
cmd_len++;
}
}
}
更复杂、功能更强大的方法请参考BIOS的相关文档。也请大家发挥想象力,不断的扩展功能。说心里话,这个“操作系统”比dos还原始!但毕竟是自己的操作系统。
要去当兵了,怎么样做一个自制的GHOST系统留给老爸呢!!
1、保证系统600M以下不是你封装前,而是封装后做成GHOST镜像在600M以下,同时这个也不是必须,只是为了能制作成CD大小,同时部署快速。你系统的大小不影响封装是否成功。
2、做成GHOST镜像文件后,可以从别的系统光盘中提取出IMG文件,用EASYBOOT制作启动界面,例如一键安装系统到C盘调用的就是GHOSTAUTO.IMG文件,这个IMG文件会启动GHOST程序并将光盘中WINXPSP2.GHO的镜像恢复到C盘。类似总总。PE的话都是老毛桃起头的,但是基本每个工作组都会自己修改出一个个性化的。找到一个PE做成BIN格式然后再EASYBOOT中调用就可以了。
3、PE的修改比较复杂。对不起我也不会
4、我用的比较多的是IT姐妹一键封装工具,感觉还可以。深度的也很好
5、版本多了,这个怎么说得清。看自己需要的,基本功能都没差。
说的很乱,希望对你有帮助
后续的回答。
1、IMG文件对应你开机启动的时候光驱启动调用的启动菜单中的每一项,包括一键GHOST、DOS工具、PQ等。这些基本每个光盘都有,可以算是通用的,只是每个光盘的这些东西版本、功能多样性不一样而已,随时更新就好了。
2、IMG怎么用?你认真学习一下EASYBOOT就知道了。这个在这里讲有点麻烦。
3、EASYBOOT就是做能引导的ISO的。网络上教程都有讲,它是把一个指定文件夹的内容都压成ISO,里面已经包含了光盘启动界面,所以这个ISO是可以引导的。
4、PE是用UltraISO做成BIN格式的。不过我推荐你直接从别人的光盘里导比较快。
你上网搜一下EASYBOOT的教程吧。用这个软件做出来的就是有引导文件的ISO,可以直接刻录的。但是我们一般都要再加一些WINDOWS下光盘需要用的功能进去。
自制u盘装系统步骤是什么|怎么自制u盘装系统
楼主孝心可嘉啊!
先把系统装好,要装的软硬件都正常使用了,用ghost备份成.gho的文件,然后下载一个启动盘的镜像文件,网上很多,都是.iso格式的。下载下来后用winrar打开,用你的.gho文件替换掉里面的.gho文件,注意文件名要一样。最后用刻录软件把iso刻成光盘就成了。如果iso的大小超出cd的容量,可以用酒精120%把镜像刻录到dvd光盘上。这样就新鲜出炉了一张孝子安装盘啦!
怎么自制win10iso镜像系统
如果自己没有安装过系统,会觉得安装系统是很复杂的事情,事实上,安装系统并不复杂,而且装系统方法非常多,现在比较常用的方法是自制U盘装系统,只要你有U盘,通过大白菜等工具自制一个启动盘,然后用这个U盘就可以实现系统的安装,那么自制U盘装系统步骤是什么呢?下面小编跟大家分享怎么自制U盘装系统的方法。
安装须知:
1、如果是新电脑或电脑不能开机,制作U盘启动盘需要借助另一台可用的电脑
2、如果内存2G及以下选择32位x86系统,内存4G及以上,则选择64位x64系统
3、U盘装系统有两种方法,本文介绍大白菜U盘安装,另一种是软碟通制作启动盘安装:软碟通U盘安装ghost系统方法
相关阅读:
怎么用u盘安装非ghost系统
系统崩溃进pe备份C盘桌面数据方法
一、安装准备工作
1、系统下载:技术员联盟ghostwin764位旗舰官方原版V2017
2、4G及以上U盘:如何制作大白菜u盘启动盘
二、U盘启动设置:怎么设置开机从U盘启动
三、自制u盘装系统步骤如下
1、根据上面的教程自制大白菜U盘启动盘,然后将下载的操作系统iso文件直接复制到U盘的GHO目录下;
2、在需要装系统的电脑上插入U盘,重启后不停按F12、F11、Esc等快捷键打开启动菜单,选择U盘选项回车,比如GeneralUDisk5.00,不支持这些启动键的电脑查看第二点设置U盘启动方法;
3、从U盘启动进入到这个主菜单,通过方向键选择02选项回车,也可以直接按数字键2,启动pe系统,无法进入则选择03旧版PE系统;
4、进去pe系统之后,无需分区的用户直接第6步,如果需要重新分区,需备份所有数据,然后双击打开DG分区工具,右键点击硬盘,选择快速分区;
5、设置分区数目和分区的大小,一般C盘建议35G以上,如果是固态硬盘,勾选“对齐分区”即可4k对齐,点击确定,执行硬盘分区过程;
6、硬盘分区之后,打开大白菜一键装机,映像路径选择系统iso镜像,此时会自动提取gho文件,点击下拉框,选择gho文件;
7、接着点击“还原分区”,选择系统安装位置,一般是C盘,如果不是显示C盘,可以根据“卷标”、磁盘大小选择,点击确定;
8、此时弹出提示框,勾选“完成后重启”和“引导修复”,点击是开始执行系统还原;
9、转到这个界面,执行系统还原到C盘的操作,这个过程需要5分钟左右,大家耐心等待即可;
10、操作完成后电脑会自动重启,此时拔出U盘,不拔除也可以,之后会重新启动进入这个界面,继续进行安装系统和系统配置过程;
11、安装过程需要5-10分钟,在重启进入全新系统桌面之后,安装系统过程结束。
到这边自制u盘装系统步骤就介绍完了,有U盘的朋友,都可以根据这个方法自制U盘来给电脑安装系统。
如何用wim文件自制 oem系统
方法一:
去微软官方网站在线制作U盘启动安装盘:
点击“立即下载工具”,下载后运行工具。
选择"为另一台电脑创建介质。
再选择你要版本:
再选择制作U盘或 ISO 文件:
点击下一步,会制作U盘启动安装盘或下载 ISO 镜像了。
方法二:
下载微软官方的?U?盘制作工具?Windows?7?USB?DVD?Download?Tool,使用方法:
一、打开Windows?7?USB?DVD?Download?Tool,找到ISO文件,点击下一步:
二、选择USB?divice:
三、选择U盘,再点击;“Begin?copying”
工具就会自动制作了。
方法三:
下载WIN10纯净版ISO文件,再下载安装UltraISO软件。按下面的方法进行:
打开UltraISO软件,点击文件——打开——找到你要制作启动盘的ISO文件——点击“启动”——写入硬盘映像——选择U盘盘符——选择写入的格式——点击“写入”,就开始写入,完成后退出。
我们以这两个原版ISO为例(前者64位、后者32位):
cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.ISO
cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.ISO
首先,你得OEM资料包,下载:
其次,你有三个选择:一是安装有imagex工具,二是安装有微软官方的WINDOWS 7 AIK工具,三是PE光盘(整合有IMAGEX工具,一般在X:\Program Files\PETOOLS目录下,最近几个合集中所带有的PE都带有IMAGEX)
如果是前者,解压缩后,右键点击wimmount.inf,选择“安装”,重启。解压缩后含有wimmount.inf的这一级目录,我们称为“工作目录”,下同。 如果后者,默认安装路径,要用的路径是C:\Program Files\Windows AIK\Tools\x86(如果是现在的系统是64位就用C:\Program Files\Windows AIK\Tools\amd64),以及X:\Program Files\PETOOLS,这个我们也称之为“工作目录”。
操作平台:
现有使用的平台最好是WIN7(解释挺麻烦的,所以统统要求为WIN7),系统干净些好,不要装一些爱管闲事的第三方系统管理软件来替代微软Windows自身的安全机制,时刻帮你盯着你的操作系统在干什么事,第三方系统管理软件闲事管多了,可能会让你的一些操作步骤失败。使用的帐户最好是Administrator,以获得较大的管理权限。
还有一个是PE3.0(图形界面)环境进行操作,前提是PE3.0有整合IMAGEX和DISM工具。
如果步骤中有用DISM命令,则有32位WIN7和64位WIN7的区别,也就是说,要制作64位的WIN7,你需要在64位平台上进行操作,你正在用64位WIN7进行操作或使用64位的PE3.0都可以。要制作32位的WIN7,则需要在32位的平台上进行操作。
操作步骤:
1、用ULTRAISO将cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.ISO的SOURCES目录下的install.wim提取到到某分区,假定为E分区(别太小了,这分区要有30G以上空闲空间),提取后,install.wim改名为X64.WIM。用ULTRAISO将cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.ISO的SOURCES目录下的install.wim提取到到某分区,假定为E分区,提取后,install.wim改名为X86.WIM。
2、假定你不喜欢启用ADMIN,那么将最新下载的OEM包中的"x86_x64_loader"提取到E分区。
3、在工作目录内建一个批处理(,A.CMD的内容(附后)。
4、如果是使用PE,先启动光盘PE,进入桌面,将A.CMD复制到X:\Program Files\PETOOLS目录,再运行A.CMD。右键"以管理员身份"运行A.CMD(最好是直接使用Administrator帐号),等待一些时间。机器性能一般的要有耐心。
5、处理结束后,先后x64.wim和x86.wim改名为install.wim,先后分别替换进cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.ISO和cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.ISO这个ISO的SOURCES目录中。另存(另存之前记得删除sources目录下的ei.cfg文件)。另存得到的ISO中的install.wim中已经内置了OEM资料包了。
A.CMD的内容如下(基本原理是:挂载WIM文件,将$OEM$下的$$目录下的所有文件夹或文件复制到WIM挂载目录的WINDOWS目录下,解除挂载,将OEM资内置到WIM文件内)
md e:\wimmount
echo 处理64位的wim文件
imagex /mountrw e:\x64.wim 1 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x64.wim 2 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x64.wim 3 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x64.wim 4 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
echo 处理32位的wim文件
imagex /mountrw e:\x86.wim 1 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x86.wim 2 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x86.wim 3 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x86.wim 4 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
imagex /mountrw e:\x86.wim 5 e:\wimmount
xcopy e:\x86_x64_loader\$OEM$\$$ e:\wimmount\windows /e /y
imagex /unmount e:\wimmount /commit
echo 处理结束
rd e:\wimmount
pause
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。