Windows 下通过硬盘上的光盘镜像安装 openSUSE

换了新机器之后又有地方折腾 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。

一、准备安装文件

  1. 首先从官方网站 https://software.opensuse.org 下载 openSUSE 的 DVD 光盘镜像。现在提供了两种版本,一个是 Tumbleweed,是滚动发行版,大约一两天就有一个新版本,也就是根据软件和社区的进度来随时更新新的软件包,每一次发布新的快照(snapshot)就相当于一次系统版本升级,优点是「新」;另一个是 Leap,是传统意义上的发行版,一般两三年一个新版本,当然中间会有小版本更新,优点是「稳定」。
  2. 下载完成后将光盘镜像放在 D 盘根目录(其它盘也行,本例中为 D:\ ),同时将其改名为比较简单的形式,如 opensuse.iso,方便后面安装的时候输入安装源的路径。
  3. 从光盘镜像中(位于 /boot/ 下,可能要深入几层目录,位于 /boot/.../loader/ 目录下,比如我这里就是 (DVD-ISO:)\boot\x86_64\loader)找到 linuxinitrd 文件并复制到电脑 D 盘根目录

二、准备安装引导路径

安装系统当然需要重新启动计算机并直接引导安装,所以需要准备引导文件。下面三个方案任选一个。

A、在 Windows 下安装 openSUSE 的本地安装工具

openSUSE 安装光盘上提供了本地安装启动项的一键配置程序 openSUSE12_3_LOCAL.exe。现在已经没有这个东西了,因为现在大家都比较喜欢用 U 盘来安装,不管是 Linux 还是 Windows。

 

  1. 可使用虚拟光驱工具(如 MagicDisc)或者用压缩软件解压光盘镜像,运行其中的 openSUSE12_3_LOCAL.exe(或新版本,只是数字不同)程序,按照提示完成安装。
    :我在 64 位 Windows 7 中安装的时候最后会提示无法修改 BCDedit 之类的信息(如下图),可以忽略。(此问题在 openSUSE 12.3 时已修复!

    OpenSUSE 11.4 Local installer setup error: Cannot exec bcdedit.exe

    现在的 12.3 版本本地安装程序在卸载的时候会提示“修改 bcdedit 失败”之类的问题,但是没有什么影响。如果有问题,请使用管理员权限运行。

  2. 安装完成后检查 Windows 系统盘根目录是否存在 grldr 和 grldr.mbr 两个文件。如果缺少的话可以从光盘镜像中(位于 /boot/ 下,可能要深入几层目录,位于 /boot/.../loader/ 目录下,比如我这里就是 DVD-ISO:\boot\x86_64\loader)找到并复制到这里。
  3. 如果顺利的话,重起计算机选择安装 openSUSE 即可进入安装过程,此时跳到下面的步骤四

B、使用 Grub4DOS 手动添加启动项

这个方案 B 几乎是万能的,但是看着不大养眼,而且步骤稍稍有些繁琐。

  1. 先去下载 grub4dos
  2. 解压 grldr.mbr, grldr, menu.lst 三个文件到 C 盘(即 Windows 系统盘)根目录,注意一是系统盘,二是根目录
  3. 在系统盘根目录创建一个文本文档,内容如下

    [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”

  4. 保存后将此文件改名为 boot.ini 。如果系统提示“更改扩展名会导致无法访问”什么的就点击“继续”。这个 boot.ini 原是 XP 下面的启动项配置文件,Windows 7 虽然没有这个东西了,但如果手动创建的话也是会起作用的。

C、使用 GRUB 启动 U 盘引导安装

如果手头有 GRUB 启动 U 盘,可以直接用它来启动 GRUB。

三、准备安装 openSUSE

  1. 重启电脑后,在启动选择菜单那里选择新加入的 “openSUSE Local installer”(方法 二.A)直接开始安装,然后跳到下面的步骤四;或者 “GRUB4DOS”(方法 二.B 或 二.C)以启动 Grub;
  2. 按键盘上的 C 键进入 Grub 命令行模式;
  3. 输入
    find /linux
  4. 并回车找到放置了 linux 和 initrd(前述 一.4 节从安装光盘中复制出来的)文件的硬盘盘符,格式类似于 (hd0,4)、(hd1,4) 之类的(如果按照前面的分区使用方法,D 盘在这里就是 (hd0,4) 或 (hd1,4)(都可以,只要有就行);
  5. 输入 kernel (硬盘盘符)/linux 并回车,注意必须带着英文半角括弧,且逗号和后一个数字之间没有空格),例如
    kernel (hd0,4)/linux
  6. 输入 initrd 硬盘符/initrd 并回车,例如
    initrd (hd0,4)/initrd
  7. 输入 boot 并回车就会进入安装引导进程。

四、开始安装

  1. 进入安装引导过程后第一个界面是检查安装光盘 CD 的完整性,因为我们是硬盘安装,所以使用键盘上的方向键 –> 切换到 Back 并回车;
  2. 开始选择语言、键盘类型等;
  3. 选择硬盘安装 “Hard Disk”,并选择安装源文件所在盘的位置(同前面 一.2 所述,D 盘的话可能就是 /dev/sda5,移动硬盘/U盘的话可能是 /dev/sdb1,如果在下一步中提示找不到安装源的可以回到这里多试几个);
  4. 按照提示输入安装源,这里需要输入镜像光盘的位置和名称,如 /opensuse.iso (在这里就尝到了前面将镜像名字改短的好处了,而且新版 OpenSUSE 的光盘镜像安装比以前的 11.1 版光盘镜像安装简单多了);
  5. 如果提示找不到安装源,可能是因为你的硬盘原来的 D 分区是 ntfs 格式的,安装程序没法自动加载该分区中的 iso 镜像,按照下面的操作来修复此问题:
    1. 后退到有 “Expert Mode”那一页,进入 Expert Mode;
    2. 选择打开 Shell;
    3. 此时看到的是 linux 的命令行模式,直接输入运行下面的命令,
      cp /usr/bin/mount /bin

      使 mount 指令可用,然后输入,

      exit

      退出命令行模式回到安装过程,重复上面的 四.2 选择安装源。

  6. 进入安装界面,需要选择安装语言、时区、配置磁盘分区等,剩下的这里就不多说了。

五、设置 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 双系统的方法。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/install-opensuse-through-hd-in-windows-7/>。转载请保留此信息及相应链接。

6 条关于 “Windows 下通过硬盘上的光盘镜像安装 openSUSE” 的评论

  1. 引用通告: 成功修改港版联想 ThinkPad T420s BIOS 包含 TP-8C slic2.1 | 水景一页

  2. 引用通告: 裸机 U 盘安装 CentOS 6 | 水景一页

  3. 引用通告: 在 GRUB 启动菜单中使用通配符替代版本号 | 水景一页

  4. 引用通告: 记一次愚蠢的openSUSE升级经历 | 水景一页

  5. 引用通告: 恢复 Windows 与 OpenSUSE 双系统的 GRUB 2 引导菜单 | 水景一页

  6. 引用通告: 通过 U 盘上的 ISO 光盘镜像安装 openSUSE Tumbleweed | 水景一页

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>