U盘安装OpenSUSE

通常有二个原因我们需要从 USB 启动 Linux Live OS 进行安装:

   1. 没有刻录光驱,或者没有刻录盘,甚至是环保主义者决定少产生这种一次性的用品
   2. 目标安装机器上没有光驱,比如越来越流行的 netbook。我的情况类似——光驱坏掉了

liveusb-creator 和 unetbootin 就是把 Live ISO 转换成 Bootable USB 的软件,对 Fedora 以及 Ubuntu 都很好使,但搞不定 openSUSE.

主要原因在于 openSUSE 的启动脚本里如果检测到 CD-ROM 就自动跳过 USB-Storage 检测,而且在我的测试中,即使去执行 USB-Storage 检测,这个脚本好像也得不到正确的硬件。更为搞笑的是 openSUSE 自从 11.2 Milestone4 开始,支持所谓的 USB boot,可这个用 dd 命令制作出来的东东能不能启动且不谈,想要重新恢复出 Windows 下可识别的分区就要额外花费一番功夫。。。。我现在觉得 openSUSE 是三大桌面发行版里对小白最不友好的 Distro 了。

下面介绍将 openSUSE Live ISO 转换到 U 盘的步骤(我在 11.1 Reloaded ISO 和 11.2 M5 上测试通过):

   1. 以下操作都在 Linux 环境下,假设 U 盘设备为 /dev/sdb,只有一个 FAT/FAT32 分区(这是最常见情况)。首先确认一下 /dev/sdb1 是一个可启动的分区
      fdisk -l /dev/sdb
   2. 用 syslinux 安装引导程序
      syslinux /dev/sdb1
   3. 将 ISO 里的内容复制到 U 盘上,假设 U 盘被 mount 在 /media/SANDISK
      mount openSUSE-GNOME-LiveCD-Build0201-i686.iso /mnt -o loop
      cp -R /mnt/* /media/SANDISK
      cp -R /mnt/boot/i386/loader/* /media/SANDISK
   4. 创建一个工作目录,将 initrd 文件解开
      mkdir opensuse
      cd opensuse
      gzip -dc /mnt/boot/i386/loader/initrd | cpio -i
   5. 最核心的命令来了——修改启动脚本,让它直接去 /dev/sdb1 上找 Live OS
      sed -i -e "s//$cddev;do//"//dev//sdb1/";do/" include
   6. 生成新的 initrd 文件,取个名字叫 initrdud
      find . | cpio -o -H newc | gzip -9 > /media/SANDISK/boot/i386/loader/initrdud
   7. 如果是 openSUSE11.1,现在 /media/SANDISK 下有一个 isolinux.cfg,将其改名为 syslinux.cfg;11.2 不用这么做
   8. 最后修改 /mnt/SANDISK/syslinux.cfg,将 initrd 改成 initrdud。如果有必要,还可以顺便修改一下内核启动参数,比如 disable KMS 什么的
   9. umount /media/SANDISK,大功告成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值