换了新机器之后又有地方折腾 Linux 了。为了最大化的节省成本,就打算从硬盘使用 ISO 光盘镜像直接安装 openSUSE(新的 openSUSE 12.3)。我这记性是一天不如一天了,感觉跟老年痴呆症前期似的,还是把步骤记下来参考吧。
更新 2013年08月17日
根据重新安装 openSUSE 12.3 的操作记录修改。
准备硬盘分区¶
为了避免在安装过程中分区时可能会影响到原来的 Windows 分区,可以在安装前准备好 Linux 的分区位置,包括安排好至少根分区 /
、交换分区 /swap
和用户目录 /home
三个分区。毕竟是新手,就直接这么分吧。
在 Windows 下分区很简单,可以使用任何免费的磁盘管理软件完成这个简单的任务。Windows 自带的磁盘管理工具就挺好用的(控制面板 –> 计算机管理 –> 磁盘管理)。
将准备用来安装 Linux 的磁盘或者逻辑分区重新调整大小,分成 3 份。这 3 份也就是三个新的分区。新的分区可以用 ntfs
格式执行快速格式化,反正后来安装的时候还要格式化为 Linux 系统需要的格式的。
分区大小参考值:
- 第一个至少 10G(一般不需要超过 20G;但是新的 openSUSE 采用 BtrFS 作为根分区的文件系统,如果硬盘不紧张,建议分区 40GB 以上),回头作为 root(/);
- 第二个一般不要超过内存大小(当然,内存太小,比如不到 2G,建议将其设置为内存的 2 倍大小;内存太大的话就得自己看情况了,太小了就不能用系统的「休眠」模式,因为 swap 同时也是作为系统休眠时候将内存的内容写进去保存的位置),回头作为 swap (交换分区);
- 剩下的都给第三个区,作为 /home。
一、准备安装文件¶
- 首先从官方网站 https://software.opensuse.org 下载 openSUSE 的 DVD 光盘镜像。现在提供了两种版本,一个是 Tumbleweed,是滚动发行版,大约一两天就有一个新版本,也就是根据软件和社区的进度来随时更新新的软件包,每一次发布新的快照(snapshot)就相当于一次系统版本升级,优点是「新」;另一个是 Leap,是传统意义上的发行版,一般两三年一个新版本,当然中间会有小版本更新,优点是「稳定」。
- 下载完成后将光盘镜像放在 D 盘根目录(其它盘也行,本例中为
D:\
),同时将其改名为比较简单的形式,如opensuse.iso
,方便后面安装的时候输入安装源的路径。 - 从光盘镜像中(位于
/boot/
下,可能要深入几层目录,位于/boot/.../loader/
目录下,比如我这里就是(DVD-ISO:)\boot\x86_64\loader
)找到linux
和initrd
文件并复制到电脑 D 盘根目录。
二、准备安装引导路径¶
安装系统当然需要重新启动计算机并直接引导安装,所以需要准备引导文件。下面三个方案任选一个。
A、在 Windows 下安装 openSUSE 的本地安装工具
openSUSE 安装光盘上提供了本地安装启动项的一键配置程序 openSUSE12_3_LOCAL.exe。现在已经没有这个东西了,因为现在大家都比较喜欢用 U 盘来安装,不管是 Linux 还是 Windows。
- 可使用虚拟光驱工具(如 MagicDisc)或者用压缩软件解压光盘镜像,运行其中的 openSUSE12_3_LOCAL.exe(或新版本,只是数字不同)程序,按照提示完成安装。
注:我在 64 位 Windows 7 中安装的时候最后会提示无法修改 BCDedit 之类的信息(如下图),可以忽略。(此问题在 openSUSE 12.3 时已修复!)现在的 12.3 版本本地安装程序在卸载的时候会提示“修改 bcdedit 失败”之类的问题,但是没有什么影响。如果有问题,请使用管理员权限运行。
- 安装完成后检查 Windows 系统盘根目录是否存在 grldr 和 grldr.mbr 两个文件。如果缺少的话可以从光盘镜像中(位于 /boot/ 下,可能要深入几层目录,位于
/boot/.../loader/
目录下,比如我这里就是 DVD-ISO:\boot\x86_64\loader)找到并复制到这里。 - 如果顺利的话,重起计算机选择安装 openSUSE 即可进入安装过程,此时跳到下面的步骤四。
B、使用 Grub4DOS 手动添加启动项
这个方案 B 几乎是万能的,但是看着不大养眼,而且步骤稍稍有些繁琐。
- 先去下载 grub4dos;
- 解压 grldr.mbr, grldr, menu.lst 三个文件到 C 盘(即 Windows 系统盘)根目录,注意一是系统盘,二是根目录!
- 在系统盘根目录创建一个文本文档,内容如下
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows” /fastdetect
C:\grldr=”GRUB4DOS” - 保存后将此文件改名为 boot.ini 。如果系统提示“更改扩展名会导致无法访问”什么的就点击“继续”。这个 boot.ini 原是 XP 下面的启动项配置文件,Windows 7 虽然没有这个东西了,但如果手动创建的话也是会起作用的。
C、使用 GRUB 启动 U 盘引导安装
如果手头有 GRUB 启动 U 盘,可以直接用它来启动 GRUB。
三、准备安装 openSUSE¶
- 重启电脑后,在启动选择菜单那里选择新加入的 “openSUSE Local installer”(方法 二.A)直接开始安装,然后跳到下面的步骤四;或者 “GRUB4DOS”(方法 二.B 或 二.C)以启动 Grub;
- 按键盘上的 C 键进入 Grub 命令行模式;
- 输入
find /linux
- 并回车找到放置了 linux 和 initrd(前述 一.4 节从安装光盘中复制出来的)文件的硬盘盘符,格式类似于 (hd0,4)、(hd1,4) 之类的(如果按照前面的分区使用方法,D 盘在这里就是 (hd0,4) 或 (hd1,4)(都可以,只要有就行);
- 输入 kernel (硬盘盘符)/linux 并回车,注意必须带着英文半角括弧,且逗号和后一个数字之间没有空格),例如
kernel (hd0,4)/linux
- 输入 initrd 硬盘符/initrd 并回车,例如
initrd (hd0,4)/initrd
- 输入 boot 并回车就会进入安装引导进程。
四、开始安装¶
- 进入安装引导过程后第一个界面是检查安装光盘 CD 的完整性,因为我们是硬盘安装,所以使用键盘上的方向键 –> 切换到 Back 并回车;
- 开始选择语言、键盘类型等;
- 选择硬盘安装 “Hard Disk”,并选择安装源文件所在盘的位置(同前面 一.2 所述,D 盘的话可能就是
/dev/sda5
,移动硬盘/U盘的话可能是/dev/sdb1
,如果在下一步中提示找不到安装源的可以回到这里多试几个); - 按照提示输入安装源,这里需要输入镜像光盘的位置和名称,如
/opensuse.iso
(在这里就尝到了前面将镜像名字改短的好处了,而且新版 OpenSUSE 的光盘镜像安装比以前的 11.1 版光盘镜像安装简单多了); - 如果提示找不到安装源,可能是因为你的硬盘原来的 D 分区是 ntfs 格式的,安装程序没法自动加载该分区中的 iso 镜像,按照下面的操作来修复此问题:
- 后退到有 “Expert Mode”那一页,进入 Expert Mode;
- 选择打开 Shell;
- 此时看到的是 linux 的命令行模式,直接输入运行下面的命令,
cp /usr/bin/mount /bin
使 mount 指令可用,然后输入,
exit
退出命令行模式回到安装过程,重复上面的 四.2 选择安装源。
- 进入安装界面,需要选择安装语言、时区、配置磁盘分区等,剩下的这里就不多说了。
五、设置 Linux 启动引导项¶
记得以前在 Windows XP 下安装 OpenSUSE 的时候可以直接在安装完成后设置启动引导项,用 Bootloader 在 Windows 启动引导项之前引导 OpenSUSE 启动。可是这次在 Windows 7 (64bit)下安装却没那么顺利,折腾了好几天。
因为我的 Windows 7 是用 WinLoader 激活的,也就是使用虚假的 slic2.1 信息来欺骗验证服务器。不管是将 OpenSUSE 的 Bootloader 安装到 MBR 还是硬盘,都会影响这个虚假的 slic2.1 信息。结果就是,安装了 Bootloader 之后,Windows 7 提示未激活,激活了 Win7,Bootloader 又失效了。所以我改用 U 盘来引导启动 Linux 系统。
另外,新的 GRUB2 会导致原来的 Windows 7 系统无法休眠。这也是我不想用 OpenSUSE 的 GRUB 的原因之一。如果在安装 OpenSUSE 的过程中安装了 GRUB2,可以使用 Windows 7 安装源启动计算机,进入“现在安装”界面之后单击左下角的“修复计算机”然后选择“自动修复”来恢复原来 Windows 7 的启动引导程序。
这篇文章改来改去已经很长了,将这个设置启动项的内容新建一篇文章,请移步查看使用 Grub 启动 U 盘引导 Windows 和 Linux 双系统的方法。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/install-opensuse-through-hd-in-windows-7/>。转载请保留此信息及相应链接。
引用通告: 成功修改港版联想 ThinkPad T420s BIOS 包含 TP-8C slic2.1 | 水景一页
引用通告: 裸机 U 盘安装 CentOS 6 | 水景一页
引用通告: 在 GRUB 启动菜单中使用通配符替代版本号 | 水景一页
引用通告: 记一次愚蠢的openSUSE升级经历 | 水景一页
引用通告: 恢复 Windows 与 OpenSUSE 双系统的 GRUB 2 引导菜单 | 水景一页
引用通告: 通过 U 盘上的 ISO 光盘镜像安装 openSUSE Tumbleweed | 水景一页