【解决】grub2应该怎么访问lvm下的iso?
Tofloor
poster avatar
a2035274
deepin
2017-10-05 03:57
Author
本帖最后由 a2035274 于 2017-10-6 16:13 编辑

我将deepin-15.4-amd64.iso放在lvm根分区里
应该怎样写grub.cfg才能引导安装deepin
  1. menuentry "deepin.iso LiveCD iso install(lvm)" {
  2.     insmod part_msdos
  3.     insmod lvm
  4.     insmod ext2
  5.     insmod iso9660
  6.     set vgid='JdiyMi-goqi-eAwH-sv7T-v2Di-PofX-L7ZkOV'
  7.     set lvid='8OXlz0-TBLD-KJkP-X7fu-O95x-PcfR-svCcTf'
  8.     set root='lvmid/JdiyMi-goqi-eAwH-sv7T-v2Di-PofX-L7ZkOV/8OXlz0-TBLD-KJkP-X7fu-O95x-PcfR-svCcTf'
  9.     search --no-floppy --fs-uuid --set=root --hint='lvmid/JdiyMi-goqi-eAwH-sv7T-v2Di-PofX-L7ZkOV/8OXlz0-TBLD-KJkP-X7fu-O95x-PcfR-svCcTf'  ecab6265-2f95-482d-8a37-718521c37e74
  10.     set isofile="deepin-15.4-amd64.iso"
  11.     echo "Using ${root} ${isofile}..."
  12.     loopback loop ${root}/$isofile
  13.     linux (loop)/live/vmlinuz boot=live noconfig=sudo findiso=$isofile debug --verbose no modeset
  14.     initrd (loop)/live/initrd.lz
  15.     }
Copy the Code
是我哪里写错了吗?
Reply Favorite View the author
All Replies
woodelf
deepin
2017-10-05 06:23
#1
看了下,整体配置没什么问题,只需要把loopback loop ${root}/$isofile这一行的${root}改为($root)就可以了。
但是需注意,boot=live这个内核参数并不起作用,引导之后还是会直接进入installer。另外,一般没必要加上debug和verbose内核参数,nomodeset也写错了,没有空格。







    来自:Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0  (zh-CN)
    ——2017/10/4 下午10:23:44
    Reply View the author
    a2035274
    deepin
    2017-10-05 13:53
    #2
    本帖最后由 a2035274 于 2017-10-6 16:15 编辑
    https://bbs.deepin.org/post/146333
    看了下,整体配置没什么问题,只需要把loopback loop ${root}/$isofile这一行的${root}改为($root)就可以了 ...

    谢谢大神,终于有所反应了。但可能我写的参数还是有不对的
    1. linux (loop)/live/vmlinuz boot=live findiso=$isofile union=overlay livecd-installer locale=zh_CN quiet splash --
    Copy the Code

    1. linux (loop)/live/vmlinuz noconfig=sudo findiso=$isofile debug --verbose nomodeset
    Copy the Code


    都试过了,还是提示无法找到/dev/sda

    Reply View the author
    a2035274
    deepin
    2017-10-07 00:15
    #3
    本帖最后由 a2035274 于 2018-3-30 22:54 编辑
    https://bbs.deepin.org/post/146333
    谢谢大神,终于有所反应了。但可能我写的参数还是有不对的

    感觉这个已经和grub没什么关系了,应该是deepin内核本身的问题了试过了几iso
    ubuntu的能启动
    gentoo的加上 dolvm or 参数  能启动
    部分代码如下
    1.     set isofile="install-amd64-minimal-20170907.iso"
    2.     set vgid='CPdmyk-Rl4I-k9G5-oGlg-ruI6-Cqr8-6AwfjG'
    3.     set lvid='VcjWww-zARP-kyAi-tp3p-oyfJ-ocOG-knkye2'
    4.     set uuid='87463458-504e-416a-a472-c826d2add433'
    5.     set root='lvmid/$vgid/$lvid'
    6.     search --no-floppy --fs-uuid --set=root --hint='$root'  $uuid
    7.     loopback loop ($root)/home/ubuntu/$isofile
    8.     set cmdline="dokeymap looptype=squashfs loop=/image.squashfs cdroot"
    9.     linux  (loop)/isolinux/gentoo $cmdline root=/dev/ram0 init=/linuxrc initrd=gentoo.igz isoboot=$isofile dolvm or
    10.     initrd (loop)/isolinux/gentoo.igz
    Copy the Code

    deepin的不能  也有可以是因为参数的问题
    也就是下面的参数无法启动
    1. menuentry "deepin.iso LiveCD iso install(lvm)" {
    2.     insmod part_msdos
    3.     insmod lvm
    4.     insmod ext2
    5.     insmod iso9660
    6.     set vgid='JdiyMi-goqi-eAwH-sv7T-v2Di-PofX-L7ZkOV'
    7.     set lvid='8OXlz0-TBLD-KJkP-X7fu-O95x-PcfR-svCcTf'
    8.     set root='lvmid/JdiyMi-goqi-eAwH-sv7T-v2Di-PofX-L7ZkOV/8OXlz0-TBLD-KJkP-X7fu-O95x-PcfR-svCcTf'
    9.     search --no-floppy --fs-uuid --set=root --hint='lvmid/JdiyMi-goqi-eAwH-sv7T-v2Di-PofX-L7ZkOV/8OXlz0-TBLD-KJkP-X7fu-O95x-PcfR-svCcTf'  ecab6265-2f95-482d-8a37-718521c37e74
    10.     set isofile="deepin-15.4-amd64.iso"
    11.     echo "Using {$root} {$isofile}..."
    12.     loopback loop {$root}/$isofile
    13.     linux (loop)/live/vmlinuz boot=live noconfig=sudo findiso=$isofile debug --verbose no modeset
    14.     initrd (loop)/live/initrd.lz
    15.     }
    Copy the Code




    Reply View the author