NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 5522|回復: 17

[問題] 使用Grub4dos 如何掛載Linux ISO檔

[複製鏈接]
發表於 2016-1-20 12:16:32 | 顯示全部樓層 |閱讀模式
使用Grub4dos 如何掛載Linux ISO檔

有Google到一些方法,可是不太能用

我需要的是直接掛載ISO檔,不需要再把ISO解壓縮

主要的ISO檔都是ubuntu 系列的  ubuntu lubuntu Zorin os ezgo Linux mint 幾乎都是64位元的

我查到的方法如下

title Zroin OS 10
find --set-root /ISO/zorin-os-10-core-64.iso
map /ISO/zorin-os-10-core-64.iso (0xff) || map --mem /ISO/zorin-os-10-core-64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper noprompt nopersistent iso-scan/filename=/ISO/zorin-os-10-core-64.iso --
initrd /casper/initrd.lz
這個不能使用

menu.lst
title Linuxmint-17.3-cinnamon64
find --set-root /ISO/linuxmint-17.3-cinnamon-64bit.iso
map --mem /ISO/linuxmint-17.3-cinnamon-64bit.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/linuxmint-17.3-cinnamon-64bit.iso splash
initrd /casper/initrd.lz
這個可以,但是會把ISO載入記憶體,需要等約3分鐘,才會載入完畢。

請教如何修改比較方便好用
發表於 2016-1-20 18:06:13 | 顯示全部樓層
menu.lst
title Linuxmint-17.3-cinnamon64
find --set-root /ISO/linuxmint-17.3-cinnamon-64bit.iso
map --mem /ISO/linuxmint-17.3-cinnamon-64bit.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/linuxmint-17.3-cinnamon-64bit.iso splash
initrd /casper/initrd.lz

改這樣試試看 (執行前面那個語句 , 檔案要連續存放)
menu.lst
title Linuxmint-17.3-cinnamon64
find --set-root /ISO/linuxmint-17.3-cinnamon-64bit.iso
map --heads=0 --sectors-per-track=0 /ISO/linuxmint-17.3-cinnamon-64bit.iso (0xff) || map --mem /ISO/linuxmint-17.3-cinnamon-64bit.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/linuxmint-17.3-cinnamon-64bit.iso splash
initrd /casper/initrd.lz
 樓主| 發表於 2016-1-20 20:26:31 | 顯示全部樓層
請教一下

我增加了三個選單

title Zroin OS 10
find --set-root /ISO/zorin-os-10-core-64.iso
map --heads=0 --sectors-per-track=0 /ISO/zorin-os-10-core-64.iso (0xff) || map --mem /ISO/zorin-os-10-core-64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/zorin-os-10-core-64.iso splash
initrd /casper/initrd.lz

title Linuxmint-17.3-cinnamon64
find --set-root /ISO/linuxmint-17.3-cinnamon-64bit.iso
map --heads=0 --sectors-per-track=0 /ISO/linuxmint-17.3-cinnamon-64bit.iso (0xff) || map --mem /ISO/linuxmint-17.3-cinnamon-64bit.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/linuxmint-17.3-cinnamon-64bit.iso splash
initrd /casper/initrd.lz

title slax
find --set-root /ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso
map --heads=0 --sectors-per-track=0 /ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso (0xff) || map --mem /ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso splash
initrd /casper/initrd.lz

只有中間 linux-mint那個可以執行
其他的都出現找不到檔案,確認過檔名沒有錯
是哪裡要修改嗎?
謝謝
發表於 2016-1-20 20:45:34 | 顯示全部樓層
本帖最後由 2567288 於 2016-1-20 20:49 編輯

我測試了兩個 ubuntu 可以直接 map iso , mint 不能直接 map iso , 其它要在試看看

iftitle [find --set-root /WINSETUP/ISO/linux/ubuntu-15.10-desktop-amd64.iso] 執行 ubuntu-15.10-desktop-amd64
find --set-root /WINSETUP/ISO/linux/ubuntu-15.10-desktop-amd64.iso
map /WINSETUP/ISO/linux/ubuntu-15.10-desktop-amd64.iso (0xff) || map --mem /WINSETUP/ISO/linux/ubuntu-15.10-desktop-amd64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper locale=zh_TW iso-scan/filename=/WINSETUP/ISO/linux/ubuntu-15.10-desktop-amd64.iso splash
initrd=/casper/initrd.lz


iftitle [find --set-root /WINSETUP/ISO/linux/linuxmint-17.3-mate-64bit.iso] 執行 linuxmint-17.3-mate-64bit
find --set-root /WINSETUP/ISO/linux/linuxmint-17.3-mate-64bit.iso
map --heads=0 --sectors-per-track=0 /WINSETUP/ISO/linux/linuxmint-17.3-mate-64bit.iso (0xff) || map --mem /WINSETUP/ISO/linux/linuxmint-17.3-mate-64bit.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz  boot=casper locale=zh_TW noprompt iso-scan/filename=/WINSETUP/ISO/linux/linuxmint-17.3-mate-64bit.iso splash
initrd=/casper/initrd.lz


另外 grub2 好像比較省事 (uefi 測試)
menuentry " 執行 ubuntu-15.10-desktop-amd64" --hotkey="u" {
echo "正在啟動 ubuntu-15.10-desktop-amd64,請等待...."
set isofile="/winsetup/iso/linux/ubuntu-15.10-desktop-amd64.iso"
search --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz.efi boot=casper locale=zh_TW noswap noprompt noeject iso-scan/filename=$isofile
initrd (loop)/casper/initrd.lz
}

menuentry "[l] 執行 linuxmint-17.3-mate-64bit" --hotkey="l" {
echo "正在啟動 linuxmint-17.3-mate-64bit,請等待...."
set isofile="/winsetup/iso/linux/linuxmint-17.3-mate-64bit.iso"
search --set -f $isofile
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper locale=zh_TW noswap noprompt noeject iso-scan/filename=$isofile
initrd (loop)/casper/initrd.lz
}

發表於 2016-1-20 21:28:06 | 顯示全部樓層
zorin 跟 ubuntu 一樣可以 map iso




本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

x
發表於 2016-1-20 22:00:35 | 顯示全部樓層
本帖最後由 2567288 於 2016-1-20 22:04 編輯

其它兩個應該是
Zroin OS 10
title Zroin OS 10
find --set-root /ISO/zorin-os-10-core-64.iso
map /ISO/zorin-os-10-core-64.iso (0xff) || map --mem /ISO/zorin-os-10-core-64.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper iso-scan/filename=/ISO/zorin-os-10-core-64.iso splash
initrd /casper/initrd.lz

slax
title slax
find --set-root /ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso
map /ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso (0xff) || map --mem /ISO/slax-Chinese-Traditional-7.0.8-x86_64.iso (0xff)
map --hook
chainloader (0xff)
 樓主| 發表於 2016-1-21 09:28:33 | 顯示全部樓層
請教一下
每一種Linux 都有不同的寫法嗎?
語法的涵義怎麼才能明瞭

我後來又加入
ezgo

這個可以使用
title EZGO12 KDE
find --set-root /ISO/ezgo12A-amd64-kde-20150327.iso
map /ISO/ezgo12A-amd64-kde-20150327.iso (0xff) || map --mem /ISO/ezgo12A-amd64-kde-20150327.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper iso-scan/filename=/ISO/ezgo12A-amd64-kde-20150327.iso splash
initrd /casper/initrd.lz

下列三種都不能用(下面三種ISO都一樣,都是ezgo12 xfce 64位元的版本)
title EZGO XFCE
find --set-root /ISO/ezgo12A-amd64-xfce-20150327.iso
map /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff) || map --mem /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper noprompt nopersistent iso-scan/filename=/ISO/ezgo12A-amd64-xfce-20150327.iso --
initrd /casper/initrd.lz

title EZGO XFCE2
find --set-root /ISO/ezgo12A-amd64-xfce-20150327.iso
map --mem /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/ezgo12A-amd64-xfce-20150327.iso splash
initrd /casper/initrd.lz

title EZGO XFCE3
find --set-root /ISO/ezgo12A-amd64-xfce-20150327.iso
map --heads=0 --sectors-per-track=0 /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff) || map --mem /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz boot=casper iso-scan/filename=/ISO/ezgo12A-amd64-xfce-20150327.iso splash
initrd /casper/initrd.lz
應該要怎麼改,以及參考哪篇文章
畢竟我還要加入其他的ISO檔,例如W7.w10.ubuntu.lubuntu等等



發表於 2016-1-21 11:35:01 | 顯示全部樓層
那個應該只有 mint 比較特殊 , 其它應該都跟 ubuntu 一樣
這個可以的話
title EZGO12 KDE
find --set-root /ISO/ezgo12A-amd64-kde-20150327.iso
map /ISO/ezgo12A-amd64-kde-20150327.iso (0xff) || map --mem /ISO/ezgo12A-amd64-kde-20150327.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper iso-scan/filename=/ISO/ezgo12A-amd64-kde-20150327.iso splash
initrd /casper/initrd.lz

那這個應該是
title EZGO XFCE
find --set-root /ISO/ezgo12A-amd64-xfce-20150327.iso
map /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff) || map --mem /ISO/ezgo12A-amd64-xfce-20150327.iso (0xff)
map --hook
root (0xff)
kernel /casper/vmlinuz.efi boot=casper iso-scan/filename=/ISO/ezgo12A-amd64-xfce-20150327.iso splash
initrd /casper/initrd.lz

看一下原始檔是 vmlinuz 還是 vmlinuz.efi


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

x
 樓主| 發表於 2016-1-21 12:05:10 | 顯示全部樓層
原始檔是vmlinuz.efi沒錯

只是還是出現
Error 25
Disk read error
發表於 2016-1-21 12:14:02 | 顯示全部樓層
不能直接 chainloader (0xff) 就好了嗎
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2025-11-4 13:41 , Processed in 0.177828 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表