LiveCD Grub 参数(isolinux)

LiveCD Grub 参数(isolinux)

我必须使用pci=nocrs硬件才能使 USB 端口工作。但由于我必须使用外部 USB DVD 驱动器,因此如果不传递该参数,我将很难启动。

我可以在刻录之前编辑磁盘上的文件,但这些文件似乎都经过了压缩,人眼无法读取。是否有任何技巧或方法可以在这样的 livecd 上编辑 grub 启动参数?如果这很重要,我正在使用 Gnome 3 livecd(opensuse)。

我在 Kubuntu 安装(不是 livecd)上执行的方式是这样的:GRUB_CMDLINE_LINUX="pci=nocrs"然后运行update-grub

我可能每次启动时都会“即时”执行此操作,但我想避免这种情况。我还想避免将其安装到硬盘上(我知道这肯定会解决我的问题)

但是,如果有办法让我只启动一次操作系统,通过在启动时手动(临时)编辑参数,然后在操作系统内部进行必要的更改,然后根据内存中加载的当前映像重新创作 DVD,我愿意制作新的启动 DVD。(如果有办法做到这一点)


编辑:

/boot/grub目录只有一个文件,即mbrid。该文件的内容只有以下内容:0x131f4e78

我猜测文件系统被压缩为一个文件,运行时一次解压缩一个文件。

另外,这是磁盘的目录结构:(感谢TREEDOS 中的命令)

│   GNOME_3-read-only.x86_64-1.0.0
│   config.isoclient
└───boot
    ├───grub
    │       mbrid
    └───x86_64
        └───loader
            │   08000600.spl
            │   10240768.spl
            │   12801024.spl
            │   16x16.fnt
            │   af.hlp
            │   af.tr
            │   ar.hlp
            │   ar.tr
            │   back.jpg
            │   bg.tr
            │   bootlogo
            │   ca.hlp
            │   ca.tr
            │   chain.c32
            │   cs.hlp
            │   cs.tr
            │   da.hlp
            │   da.tr
            │   de.hlp
            │   de.tr
            │   el.hlp
            │   el.tr
            │   en.hlp
            │   en.tlk
            │   en.tr
            │   es.hlp
            │   es.tr
            │   et.hlp
            │   et.tr
            │   fi.hlp
            │   fi.tr
            │   fr.hlp
            │   fr.tr
            │   gfxboot.c32
            │   gfxboot.cfg
            │   gl.tr
            │   gu.hlp
            │   gu.tr
            │   hapysuse.mod
            │   hi.tr
            │   hr.hlp
            │   hr.tr
            │   hu.hlp
            │   hu.tr
            │   id.tr
            │   initrd
            │   isolinux.bin
            │   isolinux.cfg
            │   isolinux.msg
            │   it.hlp
            │   it.tr
            │   ja.hlp
            │   ja.tr
            │   ka.tr
            │   ko.hlp
            │   ko.tr
            │   kroete.dat
            │   ky.hlp
            │   ky.tr
            │   linux
            │   lt.hlp
            │   lt.tr
            │   mboot.c32
            │   memtest
            │   mr.hlp
            │   mr.tr
            │   nb.hlp
            │   nb.tr
            │   nl.hlp
            │   nl.tr
            │   pa.hlp
            │   pa.tr
            │   pabout.txt
            │   panim.jpg
            │   panim_a.jpg
            │   pback.jpg
            │   phead.jpg
            │   pl.hlp
            │   pl.tr
            │   pt.hlp
            │   pt.tr
            │   pt_BR.hlp
            │   pt_BR.tr
            │   ro.hlp
            │   ro.tr
            │   ru.hlp
            │   ru.tr
            │   sk.hlp
            │   sk.tr
            │   sl.tr
            │   sr.tr
            │   sv.hlp
            │   sv.tr
            │   ta.tr
            │   text.jpg
            │   tg.tr
            │   th.hlp
            │   th.tr
            │   timer_a.jpg
            │   tr.tr
            │   uk.hlp
            │   uk.tr
            │   wa.tr
            │   welcome.jpg
            │   xh.hlp
            │   xh.tr
            │   zh_CN.hlp
            │   zh_CN.tr
            │   zh_TW.hlp
            │   zh_TW.tr
            │   zu.tr
            ├───animations
            └───branding
                    bootsplash-1024x768.cfg
                    bootsplash-1024x768.jpg
                    bootsplash-1280x1024.cfg
                    bootsplash-1280x1024.jpg
                    bootsplash-800x600.cfg
                    bootsplash-800x600.jpg
                    logo.mng
                    logov.mng
                    silent-1024x768.jpg
                    silent-1280x1024.jpg
                    silent-800x600.jpg

编辑2:

以下是 的内容/boot/x86_64/loader/isolinux.cfg。事实上,这似乎是放置它的正确位置。今晚晚些时候我会测试它并更新它以反映解决方案。

default GNOME3
implicit 1
display isolinux.msg
ui gfxboot bootlogo isolinux.msg
prompt   1
timeout  200
label GNOME3
  kernel linux
  append initrd=initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts 
label Failsafe_--_GNOME3
  kernel linux
  append initrd=initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts ide=nodma apm=off acpi=off noresume selinux=0 nosmp noapic maxcpus=0 edd=off

label harddisk
  localboot 0x80

label memtest
  kernel memtest

看起来我可以将我的参数添加到这里的末尾: append initrd=initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts

答案1

LiveCD 的目录结构如下:

|-- autorun.inf
|-- boot
|   |-- grub
|   |   |-- desktops
|   |   |-- extended
|   |   |-- grldr
|   |   |-- iso9660_stage1_5
|   |   |-- menu.lst <--- GRUB Menu Listing
|   |   |-- message
|   |   `-- stage2
|   |-- initrd-nx08.gz
|   |-- pxelinux.0
|   |-- pxelinux.cfg
|   |   |-- default
|   |   `-- default2
|   |-- syslinux
|   |   `-- syslinux.cfg
|   |-- syslinux.bin
|   |-- vesamenu.c32
|   `-- vmlinuz-nx08
|-- boot.catalog
`-- ...

您想修改 ISO 并编辑“grub.lst”文件(如果找不到,您可以搜索)。然后您想将其重新打包成可启动的 ISO 并将其刻录到磁盘。

我见过ISO大师推荐用于此类任务,所以这将是我翻开的第一页。


一些发行版也使用isolinux,并且它们的配置细节可以在中找到isolinux.cfg,并使用类似 LILO 的语法,用于append添加参数。

相关内容