veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 43871|回复: 75

正版win7下用脚本创建引导并安装veket的流程

[复制链接]
发表于 2010-8-28 18:20 | 显示全部楼层 |阅读模式
本帖最后由 perryfa 于 2012-12-23 16:41 编辑


附件下载: win7下手动安装veket到硬盘.zip (241.01 KB, 下载次数: )
网盘下载:http://pan.baidu.com/share/link? ... 6571078&third=0

先前我已经写过一个win7下手动安装veket的流程:
http://www.lucky8k.com/thread-72811-1-1.html
但一些同学觉得还是麻烦,所以,写了一个脚本来代替先前的敲指令建立引导,并重新整理一下流程。

第一步 准备工作

1. 解压下载来的veket的虚拟光盘文件(iso),把里面的文件统统拷贝到一个目录,起名叫“veket”,例如我拷贝到 - F:\veket。
注意:
1) 解压拷贝请注意文件名的大小写问题,如果因为windows解压软件的问题,文件名变成大写字母了,必须手动改回小写,或者改用7z解压。所有的文件名都要改,包括扩展名。
2) veket目录必须放在你选择的逻辑硬盘的根目录,也就是点该硬盘就能看见“veket”目录。

2. 下载这里提供的压缩文件“win7下手动安装veket到硬盘.zip”,解压。到grub目录里,把grldr、grldr.mbr、menu.lst三个文件拷贝到C:盘的根目录。
注意:
1) 是将grub目录里边的内容复制到C盘根目录下,不要目录。就是点C盘就看到这几份文件就对了。
2) 往c盘根目录拷文件是一件比较严重的事情,所以,系统会有提示给你,说需要管理员权限之类的,你点“继续”就可以了。

3. 备份BCD(这是为了避免超小概率事件的发生)
备份BCD需要打开命令行终端。在win7系统菜单的“附件”中找到“命令提示符”一项,把鼠标光标移上去,点鼠标右键开右键菜单,选择“以管理员身份运行”。一个命令行终端就被打开了,通常我们称之为DOS窗口。
备份BCD(win7的引导数据库)只有一条指令:
bcdedit /export "输出路径\文件名"
后面的输出路径和文件名你可以自己写,随便指定一个你认为好找的目录,文件名也可以自己起。例如,我会这么打指令:
C:\windows\system32>bcdedit /export c:\boot\BCD_backup_20100829
然后,系统就会回复我:
操作成功完成。
然后,到c:\boot\目录下去看,就会有一个BCD_backup_20100829文件出现了。

如果需要恢复以前的BCD
1) 在win7下,可以输入如下指令:
bcdedit /import "输出目录\文件名"
“输出目录\文件名”是你放备份BCD的目录和文件名。
2) 如果在veket下,那就比较简单。直接把你备份的BCD文件复制到c:\Boot\下面,改名为“BCD”。原来的BCD文件你删除也好,移走也行。

第二步 建立引导

在下载的“win7下手动安装veket到硬盘.zip”里面有个文件叫“bootwin7-2.bat”,在文件浏览器里用鼠标右键点这个文件,选择“以管理员身份运行”。
正常情况下,会有个窗口跳出,你会看到一系列的“操作成功完成”,并且提示“请按任意键继续”,按任意键关闭这个窗口,这就设置好了。

开机的时候会出现"grub4dos"的选项,就在windows 7选项的下面。
如果,开机选Grub4Dos选项,进入grub引导界面,然后用上下键选择你的veket目录所在的硬盘分区(在我的机器里,我选"veket F"),能够成功启动veket,那么有关win7的特别的事情就做完了,接下来就是选择鼠标键盘和屏幕分辨率,鼠标键盘按回车选择默认的就好,分辨率可能需要自己选一下。
如果,系统找不到你的veket目录,或者干脆告诉你 - 没有这样的“partition”,那么,你需要做第三步。

第三步 寻找正确的分区号及修改menu.lst文件

1. 寻找正确的分区号
有两种方法,指令法和试错法。
新手注意:不要管指令法,会把你搞晕的。直接看下面的第二点试错法。

1) 指令法
i)用管理员身份打开dos终端,打入“diskpart”进入diskpart命令行。命令提示符变成了这样:
DISKPART>
ii)用指令选择veket目录所在的硬盘。
我是笔记本,只有一块硬盘,编号就是0。即在diskpart终端键入:
DISKPART>select disk 0
如果是多硬盘,还需要先打:
DISKPART>list disk
看一下硬盘编号。如果是第二块硬盘,就要打:
DISKPART>select disk 1

iii)察看分区编号
输入:
DISKPART>list partition
就能看见veket目录所在的分区是什么编号。系统显示给你的情形类似这样:
分区###        类型        大小        偏移量        
分区 1        恢复         1500M         1024K
分区 2 ......
......
分区 4        逻辑        19G        186G
......
根据分区的大小,你大致可以判断出来哪个分区是你的veket目录所在的盘,因为你应该知道veket目录所在的盘总共有多少G。
在我的机器里,我把veket目录放在F盘,分给它20G,所以,我就知道F盘的分区编号是4。
注意,win7的分区编号和先前不一样,要找到正确的分区号写入menu.lst,我个人认为有如下三个原则:
(a) 分区3以前的分区,其实就是指C盘(分区2),在menu.lst里面,需要把list partition出来的编号-1才行,就是说c盘是(hd0,1)。
(b)对于分区3以后的分区,只要按照list partition的结果写就行。(因为win7有个隐藏分区编号是3)
(c)逻辑盘符CDEF这些,完全不要理。
(d)以上三点是基于我的机器,原装win7,分区1和3是隐藏分区,C盘是分区2。有些机器可能和我的不一样,我听说有的只有一个隐藏分区,这样的话,情形会不同,如果自己摸索有困难,建议用下面的试错法。


2)试错法
menu.lst文件,下载来的时候,里面默认写好从C盘的(hd0,0)到I盘的(hd0,9),这是按照xp的分区号写的,由于win7的分区号编排和以前不同,所以,盘符和分区号的对应关系不对了。不过没关系,你就不用理什么盘符。
重新启动电脑,选择Grub4Dos,按回车然后进入grub的引导界面。
在引导界面,会有这样的选项:
veket C
veket D
......
等等。
你就挨个往下试,分区号不对是启动不起来的,那就打esc取消,回到引导界面,选择下一项继续试。
只要你是一块硬盘,只要你的逻辑盘没有超过10个这么多,那么总有一个分区号是对的。
如果你有两块硬盘,你把veket安装在第二块硬盘上。你可以把menu.lst改一下。
menu.lst里面针对每个分区有三行内容:
  1. title veket C
  2. kernel (hd0,0)/veket/vmlinuz root=/dev/ram0 PMEDIA=idehd
  3. initrd (hd0,0)/veket/initrd.gz
复制代码
把所有(hd0,0)、(hd0,1)......改成(hd1,0)、(hd1,1)......,这样所有的分区号都指向第二块硬盘了。然后再挨个盲试,反正就是找到一个可以启动的,记住那个正确的就好了。

2. 修改menu.lst
menu.lst可以不修改。当你找到了可以启动veket的分区,例如你点“veket E”的时候能启动,那么就记住它,以后就用它启动。
如果你觉得这样不舒服,想改得清爽一些,你可以用文本编辑器打开menu.lst,修改。

假设在你的机器里,veket目录拷贝到了D盘,但你用试错法找到,只有选“veket E”才能正确启动。
那么在menu.lst里找到这三行:
  1. title veket E
  2. kernel (hd0,5)/veket/vmlinuz root=/dev/ram0 PMEDIA=idehd
  3. initrd (hd0,5)/veket/initrd.gz
复制代码
把title后面的"veket E"改成你要的名字(必须是英文,中文会乱码),例如“veket D”。

假设在你的机器里,veket目录拷贝在D盘,你用指令法看到你的分区号是5,那么,你可以在menu.lst里找到这三行:
  1. title veket D
  2. kernel (hd0,4)/veket/vmlinuz root=/dev/ram0 PMEDIA=idehd
  3. initrd (hd0,4)/veket/initrd.gz
复制代码
把后两行的(hd0,4)改成(hd0,5)。

那些没用的启动项可以注释掉(一行的开头加上“#”号)。例如,C盘的启动项改成:
  1. #title veket C
  2. #kernel (hd0,0)/veket/vmlinuz root=/dev/ram0 PMEDIA=idehd
  3. #initrd (hd0,0)/veket/initrd.gz
复制代码
这样,进入grub引导界面就看不见C盘的引导项了。你可以注释掉所有没用的行,这样菜单就清爽了。
如果你再把这两行改了,那么连选择都不需要了,直接引导veket:
  1. timeout 30
  2. default /default
复制代码
把“timeout”后面的“30”(单位是秒)改成0,表示不需要等待时间,直接启动默认项。
把“default”后面的"/default"改成“0”,表示第一个启动项是默认启动项。假设你已经把别的启动项都注释掉了,只剩下启动veket的三行,它当然就是第一个启动项,也就是默认启动项。
所以,选完"grub4dos"以后就不进grub界面,当然也不需要选择什么,直接进入veket。

[ 本帖最后由 perryfa 于 2010-8-29 02:59 编辑 ]
发表于 2010-8-29 08:55 | 显示全部楼层

很详细

学习学习再学习
发表于 2010-8-29 14:56 | 显示全部楼层
强烈支持,虽然还未用上win7
发表于 2010-8-29 18:17 | 显示全部楼层
强烈支持啊,楼主辛苦了。
发表于 2010-8-29 19:49 | 显示全部楼层
学习学习
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛 ( 粤ICP备 11052856 )

GMT+8, 2024-3-29 05:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表