24小时热门版块排行榜    

查看: 540  |  回复: 2

wikipad

金虫 (小有名气)

[交流] U盘安装OpenSUSE[转] 已有1人参与

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,大功告成
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/rongmj726/archive/2009/08/22/4472260.aspx

可参考的

grub引导 制作live usb stick 安装openSUSE到U盘
准备:

U盘 openSUSE11.1 liveCD(live usb stick安装的系统字体有问题) linux系统 + syslinux
折腾开始
U盘格式化:
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         548     4196005    c  W95 FAT32 (LBA)
/dev/sdb4             549        1022     3629418    5  Extended
/dev/sdb5             549         944     3032141   83  Linux
/dev/sdb6             945         955       84196   83  Linux
/dev/sdb7             956        1022      512988   82  Linux swap / Solaris

sdb1用来制作live usb stick,因为要用syslinux引导,所以格式化为FAT32。经测试,live usb stick只能放在第一个分区。。 sdb5用来安装openSUSE,安装根分区“/” sdb6安装/boot分区 sdb7作为swap分区
制作live usb stick


将liveCD iso、/dev/sdb1挂上
mount openSUSE-11.1-KDE4-LiveCD-i686.iso /mnt/cd -o loop
mount /dev/sdb1 /mnt/usb cp -R/mnt/cd/* /mnt/usb cd /mnt/usb
cp -R boot/i386/loader/* . 下载修改过的initrdud,放到/mnt/usb中
附上定制openSUSE initrd步骤:http://klik.atekon.de/wiki/index.php/CustomizeSUSELivemv isolinux.cfg syslinux.cfg修改syslinux.cfg,将"initrd=initrd"改为"initrd=initrdud kiwidebug=1"umount /dev/sdb1 安装syslinux
syslinux /dev/sdb1
重启,BIOS中设好boot顺序就有一个live usb stick了~

安装openSUSE11.1到U盘:
liveCD启动安装就可以了
注意grub要安装到U盘上。

修改grub
此时U盘grub还不能正常引导

进入硬盘Linux系统,插上U盘 进入grub命令行 root (hd1,5) setup (hd1) U盘启动时被识别为hd0,硬盘被识别为hd1。所以要修改U盘boot分区menu.lst中相应条目。 加上一个live_usb引导选项
title live_usb
rootnoverify (hd0,0)
chainloader +1
makeactive
boot 增加其他引导选项


p://hi.baidu.com/vb98/blog/item/68f9cf7b3ef0cde00bd1871e.html
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baghnac

金虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖
老实说,我装过 一次,觉得运行有点慢
Beagreathackernotacracker!
2楼2011-12-24 10:50:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wikipad

金虫 (小有名气)

内容已删除
3楼2011-12-24 19:27:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wikipad 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见