Jump to content











Photo
- - - - -

Need help to Boot Bliss-v11.9.iso with grub4dos (solved using partnew command)

grb4dos partnew

  • Please log in to reply
13 replies to this topic

#1 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 05 July 2019 - 07:55 PM

Need help to boot Bliss-v11.9.iso with grub4dos from a partition on my (MBR) HDD :

 

Bliss OS page: https://blissroms.com/

 

Iso downloaded:

Bliss-v11.9--OFFICIAL-20190526-1304_x86_64_k-k4.20-ma-gal_m-18.3.5-pie-x86-llvm80_f-dev-kernel.org.iso from:

 

https://sourceforge....c builds - Pie/

 

Then renamed it to Bliss-v11.9.iso and put it on HDD partition D: D:\Isos folder.

 

Tried the classical:

 

title Boot Bliss-v11.9\nBoot Bliss-v11.9 from HD
find --set-root /Isos/Bliss-v11.9.iso
map /Isos/Bliss-v11.9.iso (0xFF)
map --hook
chainloader (0xFF)

 

Then the booting menu of Bliss was loaded with several options, just used preselected: boot from Android_x86.iso

and it opens a new screen: Searching for Android_x86 and it remains there forever, no other message as not found or something like that.

 

Any help will be appreciated.

 

alacran



#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 05 July 2019 - 08:48 PM

That 'classical' grub4dos menu is classic for hardly ever working!

 

The ISO works fine with Easy2Boot.  :)

 

Just use the partnew method for any linux ISOs...

 

Otherwise you will have to use a cheat code and specify the name of the ISO (another 'classic' method that does work!).



#3 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 07 July 2019 - 09:18 PM

That 'classical' grub4dos menu is classic for hardly ever working!

 

The ISO works fine with Easy2Boot.  :)

 

Just use the partnew method for any linux ISOs...

 

Otherwise you will have to use a cheat code and specify the name of the ISO (another 'classic' method that does work!).

 

Thanks for your answer, but that do not help to my request. I know and have used Easy2Boot on USB drives. I'm not interested on using Easy2Boot on this case.

 

 

Need help to boot Bliss-v11.9.iso with grub4dos from a partition on my (MBR) HDD :

 

Maybe I should add Internal HDD.

 

alacran



#4 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 07 July 2019 - 09:37 PM

Just use the partnew method for any linux ISOs...

 

Otherwise you will have to use a cheat code and specify the name of the ISO (another 'classic' method that does work!).

 

 

I gave you two well known solutions!

 

1. If you have a spare primary partition on your internal HDD you can use the partnew command. If you use Google you can search RMPrepUSB.com or reboot.pro to find out more about the partnew command in grub4dos.

2. Use a cheat code - again use Google to find out the exact cheat code needed to specify the ISO file in the kernel parameters, although there is a chance that Bliss may not support a cheat code at all. You could try asking on the Bliss Forum if there is one for ISO files...



#5 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 08 July 2019 - 08:34 AM

Here is it (#1), I would have thought that a long time member like alacran was already familiar with the approach (iso fake partition):

http://reboot.pro/to...brided/?p=88531

 

:duff:

Wonko



#6 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 09 July 2019 - 01:20 AM

Thanks to both of you.

 

 

1. If you have a spare primary partition on your internal HDD you can use the partnew command. If you use Google you can search RMPrepUSB.com or reboot.pro to find out more about the partnew command in grub4dos.

 

 

Finally I decided to use an old 4 GB USB drive (grub4dos MBR Fat-32) to test partnew command and copied Bliss-v11_9.iso to the root of drive and used this entrace (from steve6375 tutorial 93) on menu.lst:

 

iftitle [if exist /Bliss-v11_9.iso] Boot Bliss-v11_9.iso boot from ISO on USB root.
set ISO=Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls (hd0,0)/%ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)
 

It booted fine.

 

Here is it (#1), I would have thought that a long time member like alacran was already familiar with the approach (iso fake partition):

http://reboot.pro/to...brided/?p=88531

 

:duff:

Wonko

 

Also tried (from cdob post):

 

title Boot Bliss-v11_9.iso from ISO on USB root
ls /Bliss-v11_9.iso || find --set-root /Bliss-v11_9.iso
ls (hd0,0)/Bliss-v11_9.iso && partnew (hd0,3) 0x00 /Bliss-v11_9.iso
map /Bliss-v11_9.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)
 

It also booted fine

 

I read about partnew long time ago but never used before in my menu.lst.

In fact I still don't clearly understand the "ls" command syntax.

All info I found is:

ls

grub> help ls
ls: ls [FILE_OR_DIR]
    List file or directory.

 

alacran



#7 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 09 July 2019 - 05:10 AM

Well, after all I didn't like Bliss-v11.9, but this has been a good oportunity for me to learn more about partnew, in fact I made some more test booting from the USB stick:

 

Iso was renamed to: Bliss-v11_9.iso

 

If the Iso is into Isos folder located on a single Fat-32 partition all following items on menu.lst boot fine:

iftitle [if exist /Isos/Bliss-v11_9.iso] Boot Bliss-v11_9.iso from ISO on (hd0,0)/Isos -- 1
set ISO=Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls (hd0,0)/Isos/%ISO% && partnew (hd0,3) 0x00 /Isos/%ISO%
map /Isos/%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist /Isos/Bliss-v11_9.iso] Boot Bliss-v11_9.iso from ISO on (hd0,0)/Isos -- 2
set ISO=Isos/Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls (hd0,0)/%ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

title Boot Bliss-v11_9.iso from ISO on (hd0,0)/Isos -- 3
ls /Isos/Bliss-v11_9.iso || find --set-root /Isos/Bliss-v11_9.iso
ls (hd0,0)/Isos/Bliss-v11_9.iso && partnew (hd0,3) 0x00 /Isos/Bliss-v11_9.iso
map /Isos/Bliss-v11_9.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

But if I put the Isos folder on second primary partition this two work very fine:

title Boot Bliss-v11_9.iso from ISO on (hd0,1)/Isos -- 3A
ls (hd0,1)/Isos/Bliss-v11_9.iso || find --set-root /Isos/Bliss-v11_9.iso
ls (hd0,1)/Isos/Bliss-v11_9.iso && partnew (hd0,3) 0x00 (hd0,1)/Isos/Bliss-v11_9.iso
map (hd0,1)/Isos/Bliss-v11_9.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

title Boot Bliss-v11_9.iso from ISO on (hd0,1)/Isos -- 3B
ls (hd0,1)/Isos/Bliss-v11_9.iso && partnew (hd0,3) 0x00 (hd0,1)/Isos/Bliss-v11_9.iso
map (hd0,1)/Isos/Bliss-v11_9.iso (0xff)
map --hook
root (0xff)
chainloader (0xff)

But none of this work:

iftitle [if exist (hd0,1)/Isos/Bliss-v11_9.iso] Boot Bliss-v11_9.iso boot from ISO on (hd0,1)/Isos -- 1
set ISO=Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls (hd0,1)/Isos/%ISO% && partnew (hd0,3) 0x00 (hd0,1)/Isos/%ISO%
map /(hd0,1)/Isos/%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist (hd0,1)/Isos/Bliss-v11_9.iso] Boot Bliss-v11_9.iso boot from ISO on (hd0,1)/Isos -- 2A
set ISO=(hd0,1)/Isos/Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls /%ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

iftitle [if exist (hd0,1)/Isos/Bliss-v11_9.iso] Boot Bliss-v11_9.iso boot from ISO on (hd0,1)/Isos -- 2B
set ISO=(hd0,1)/Isos/Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls %ISO% && partnew (hd0,3) 0x00 /%ISO%
map /%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

Any ideas about what is wrong here?

 

alacran



#8 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 09 July 2019 - 06:38 AM

You have

set ISO=Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls (hd0,1)/Isos/%ISO% && partnew (hd0,3) 0x00 (hd0,1)/Isos/%ISO%
map /(hd0,1)/Isos/%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

 

/(hd0,1)  is not a correct path!   remove the /  -  (hd0,1)/Isos/%ISO% is correct

 

Same for

map /%ISO% (0xff)

 

P.S. grub4dos reports an error and usually display the line that the error is in. It will help if you can report this information - just saying 'it doesn't work' is not a lot of help - if I said 'my car doesn't work' would you know what was wrong?



#9 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 09 July 2019 - 06:47 AM

ls /Bliss-v11_9.iso || find --set-root /Bliss-v11_9.iso

this means

 

'list the file  and if the command returns 'false' then find the file on the root of any drive in the system and set the current drive to the drive where you found it'

 

e.g. current root will be set to (hd0,1)/  so if you used  ls / after this command, it would list the contents of (hd0,1)/ if the file was found on (hd0,1)/.

 

||  means 'if the command failed and returned false'   = OR  or if not successful

&& means 'if the command succeeded and returned 'true'  = AND  or if successful

 

e.g. 

if exist /myfile echo Found   is the same as    if exist /myfile && echo Found

if not exist /myfile echo Not found  is the same as    if exist /myfile || echo Not found



#10 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 09 July 2019 - 07:42 AM

 

P.S. grub4dos reports an error and usually display the line that the error is in. It will help if you can report this information - just saying 'it doesn't work' is not a lot of help - if I said 'my car doesn't work' would you know what was wrong?

 

Thanks Steve, only report was "File not found". And that is not very helpful, so I omited it.

 

ls /Bliss-v11_9.iso || find --set-root /Bliss-v11_9.iso

this means

 

'list the file  and if the command returns 'false' then find the file on the root of any drive in the system and set the current drive to the drive where you found it'

 

e.g. current root will be set to (hd0,1)/  so if you used  ls / after this command, it would list the contents of (hd0,1)/ if the file was found on (hd0,1)/.

 

||  means 'if the command failed and returned false'   = OR  or if not successful

&& means 'if the command succeeded and returned 'true'  = AND  or if successful

 

e.g. 

if exist /myfile echo Found   is the same as    if exist /myfile && echo Found

if not exist /myfile echo Not found  is the same as    if exist /myfile || echo Not found

 

 

Also thanks for this info too.

 

Tried this and worked fine:

 

iftitle [if exist (hd0,1)/Isos/Bliss-v11_9.iso] Boot Bliss-v11_9.iso boot from ISO on (hd0,1)/Isos -- 2B
set ISO=Isos/Bliss-v11_9.iso
parttype (hd0,3) | set check=
set check=%check:~-5,4%
if "%check%"=="0x00" partnew (hd0,3) 0 0 0
if not "%check%"=="0x00" echo WARNING: PTN TABLE 4 IS ALREADY IN USE! && pause && configfile /menu.lst
ls (hd0,1)/%ISO% && partnew (hd0,3) 0x00 /%ISO%
map (hd0,1)/%ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)
chainloader (0xff)

 

alacran



#11 alacran

alacran

    Platinum Member

  • .script developer
  • 2710 posts
  •  
    Mexico

Posted 13 July 2019 - 11:09 PM

Only to add two more comments about partnew command.

1 - File to boot from, must be contiguous (not fragmented).

2 - Partnew is used mainly for Linux live Isos, but also WinPE Isos can be booted this way since I have already tested.

 

 

IMHO, this makes Parnew booting method the more versatile.

 

Only inconvenience is it writes the new Iso starting location as starting point of fourth primary partition (hd0,3) to the booting drive each time we boot (some people may think it could induce premature wear).

 

 

alacran



#12 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 14 July 2019 - 08:26 AM

Only to add two more comments about partnew command.

1 - File to boot from, must be contiguous (not fragmented).



Sure :) , and, just in case (and FYI):
http://reboot.pro/to...disk-emulation/
 
 

2 - Partnew is used mainly for Linux live Isos, but also WinPE Isos can be booted this way since I have already tested.


But for the PE there is no real reason (advantage) in using the Partnew approach, the whole point of the method is that the Linux (normally) maps the partition entry even if it has a partition ID of 0x00 (the PE simply doesn't).
 

Only inconvenience is it writes the new Iso starting location as starting point of fourth primary partition (hd0,3) to the booting drive each time we boot (some people may think it could induce premature wear).

Which is a non-problem.

When we (and in the mean time media has bettered, they are more lasting, they have wear leveling, etc.) were suggesting (on XP and earlier) to disable access timestamps, avoid having a pagefile, etc. we were trying to prevent hundreds or thousands of write operations on the media per hour.

Now, if you change the partition table 5 times a day, EVERY day for 1 WHOLE year, you will have made less than 2000 write operations, with this rate media will last[1] between 10 and 100 years, while EVERY SINGLE day you write to the partition table 5 times.

:duff:
Wonko

 

[1] ... and in the meantime the USB stick will have been lost, the connector will be worn out, etc., etc. ...:



#13 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 14 July 2019 - 08:32 AM

Just for additional information, the partnew does not only modify the MBR. It also adjusts the PBR 'Reserved Sectors' location so that you can use partnew with FAT/NTFS partition images.



#14 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 14 July 2019 - 09:27 AM

Just for additional information, the partnew does not only modify the MBR. It also adjusts the PBR 'Reserved Sectors' location so that you can use partnew with FAT/NTFS partition images.

Yep :), but we were talking specifically of .iso's.

 

Using the partnew command to map (with the "right" partition ID) an extent actually belonging to a FAT/NTFS/whatever image is "normal", the essence of the trick, for Linux .iso's is that Linux considers the 0x00 partition ID as valid (or altogether ignores it) and maps/mounts the partition entry just fine, recognizing the CDFS, mounting it. etc..

 

In the case of a PE (or of any DOS/WINDOWS) this doesn't happen (you can still use the partnew with a "normal" volume image - and the partnew command will correct the PBR -  BUT you need a "valid" partition ID ).

 

 

:duff:

Wonko






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users