WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: grub4dos  (Read 3999 times)

Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
grub4dos
« on: May 31, 2010, 01:27:13 PM »
Thanks to SvOlli for:

Code: [Select]
Title: grub4dos.tcz
Description: GRUB bootloader for use with the Microsoft Windows bootmanager
Version: 0.4.4-2009-06-20
Author: Kevin Lawton & the Bochs team
Original-site: https://gna.org/projects/grub4dos/
Copying-policy: GPL
Size: 144.0K
Extension_by: SvOlli
Comments: This package includes anything you need to install Tiny Core
Linux inside a Windows NTFS partition without repartitioning.
All DOS stuff has been removed.
A script for integration of ntfs-3g driver into initrd is
available in the Programming and Scripting section of the
forum.
----
Change-log: ----
Current: 2010/05/30 initial version


Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: grub4dos
« Reply #1 on: June 10, 2010, 08:42:40 PM »
Thanks to SvOlli for:

Code: [Select]
Title: grub4dos.tcz
Description: GRUB bootloader for use with the Microsoft Windows bootmanager
Version: 0.4.4-2009-06-20
Author: Kevin Lawton & the Bochs team
Original-site: https://gna.org/projects/grub4dos/
Copying-policy: GPL
Size: 284.0K
Extension_by: SvOlli
Comments: This package includes anything you need to install Tiny Core
Linux inside a Windows NTFS partition without repartitioning.
All DOS stuff has been removed.
A script for integration of ntfs-3g driver into initrd is
available in the Programming & Scripting section of the forum.
Change-log: 2010/05/30 initial version
Current: 2010/06/04 added chinese grldr


Offline Jason W

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 9730
Re: grub4dos
« Reply #2 on: June 23, 2010, 05:45:50 PM »

Thanks to SvOlli for:

Code: [Select]
Title: grub4dos.tcz
Description: GRUB bootloader for use with the Microsoft Windows bootmanager
Version: 0.4.4-2009-06-20
Author: Kevin Lawton & the Bochs team
Original-site: https://gna.org/projects/grub4dos/
Copying-policy: GPL
Size: 304.0K
Extension_by: SvOlli
Comments: This package includes anything you need to install Tiny Core
Linux inside a Windows NTFS partition without repartitioning as
well as creating a native installation.
All DOS stuff has been removed.
A script for integration of ntfs-3g driver into initrd is
available in the Programming & Scripting section of the forum.
Change-log: 2010/05/30 initial version
2010/06/04 added chinese grldr
Current: 2010/06/26 added bootlace.com to make grub4dos an alternative
to grub-0.97-splash


Offline scuz

  • Newbie
  • *
  • Posts: 10
Re: grub4dos
« Reply #3 on: August 10, 2025, 01:43:03 PM »
i like persistance
mount -o iso_path i use /iso/coreplus on 1st parition  /mnt/folder name i use /mnt/x
/mnt/x will be read only copy it to i use /boot/ then rename x to i use coreplus
rename the cde folder to tce in the i use /boot/coreplus

use syslinux memdisk
i keep it in my /img folder

Code: [Select]
title  CorePlus-16.1.iso memdisk cde>tce tab edit boot options add waitusb=5 tce=sda1/boot/coreplus/tce noutc
root (hd0,0)
# find --set-root --ignore-floppies --ignore-cd /iso/CorePlus-16.1.is
kernel /img/memdisk  raw
 initrd /iso/CorepLUS-16.1.iso

you can use root or find line
« Last Edit: August 11, 2025, 09:42:56 AM by Rich »

Offline nick65go

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 912
Re: grub4dos
« Reply #4 on: August 10, 2025, 02:30:02 PM »
Hm, if we talk about EEE (Embrace, extend, and extinguish) Micro$oft "DOS", using word grub4dos in a Linux topic, then let me inform you that a new-recent Grub4DOS can now boot from UEFI firmware, not only from BIOS. Even a grub1 (special edition from Fedora) could boot from UEFI.

It is useless for Linux (which already boots in tmpfs RAM), but extremely useful for Win11 :)
Because the new UEFI Grub4DOS allows you to boot a WIM image fully in RAM. I mean you can build a full or "reduced" size image like winPE (yes 500 MB win11), compress it with LZ4 and Grub4DOS will load it in RAM. Of course then you need extra RAM for win10 / win11 to run its programs, and applications can be 7z loaded in RAM on-demand from USB etc. The point is that it is  NTFS native in memory, but will not premature destroy your NAND flash with its NTFS cache / flush /log writes.

And of course, icing on the cake, no Win7/10/11 registration (aka IP breaking US law) for adventurist.
Adventure is because using a Chinese Boot-loader with a closed source Win11 software. But hey, do not bother yourself too much, you do not audit TC either, you just use it as it is, don´t you? It is all about trust in mankind.
« Last Edit: August 10, 2025, 02:38:59 PM by nick65go »

Offline nick65go

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 912
Re: grub4dos
« Reply #5 on: August 10, 2025, 03:36:46 PM »
and here are the sources for Grub4Dos and grub1, both capable of UEFI boot, in contrast with what "modern" grub2 + Secure boot push on our throat:
1. https://github.com/chenall/grub4dos/blob/efi/ChangeLog_UEFI.txt

2. https://www.rodsbooks.com/efi-bootloaders/grub_legacy.html
grub-efi-0.97-93.fc17.x86_64.rpm —The x86-64 binary RPM for Fedora 17's patched EFI version of GRUB Legacy. (Usable on x86-64 UEFI systems and modern Macintoshes.)
grub-efi-0.97-93.fc17.i686.rpm —The x86 binary RPM for Fedora 17's patched EFI version of GRUB Legacy. (Usable on early Intel-based Macs with EFI firmware.)

Offline patrikg

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 767
Re: grub4dos
« Reply #6 on: August 10, 2025, 04:07:31 PM »
I have a old file on my computer that i can share with grub entry's.
If that can be some tips how to write this stuff :) 
Code: [Select]
#!/bin/sh

# exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

# My ISO files are located in the root directory of the second partition of my first HDD (hd0,2) /dev/sda2
# Modify the entries for your HDD & partition configuration

menuentry "Clonezilla 64-bit" {
    set isofile="/clonezilla-live-2.4.2-32-amd64.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/live/vmlinuz boot=live union=overlay fromiso=/dev/sda2/$isofile username=user config components noswap edd=on nomodeset nodmraid noeject locales= keyboard-layouts= ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_batch=no toram=filesystem.squashfs ip= net.ifnames=0  nosplash quiet i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
    initrd (loop)/live/initrd.img
}

menuentry 'Gparted ISO' {
    set isofile="/gparted-live-0.23.0-1-amd64.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/live/vmlinuz boot=live union=overlay fromiso=/dev/sda2/$isofile username=user config components quiet noswap noeject  toram=filesystem.squashfs ip= net.ifnames=0  nosplash
    initrd (loop)/live/initrd.img
}

menuentry "Try Peppermint 6 64-bit without installing" {
set gfxpayload=keep
set isofile="/Peppermint-6-20150904-amd64.iso"
loopback loop (hd0,2)$isofile
linux (loop)/casper/vmlinuz.efi  file=/cdrom/preseed/peppermint.seed boot=casper iso-scan/filename=$isofile quiet splash --
initrd (loop)/casper/initrd.lz
}

menuentry "Wily Werewolf Gnome 64bit" {
    set gfxpayload=keep
    set isofile="/wily-gnome-daily-amd64.iso"
    loopback loop (hd0,2)$isofile
    linux (loop)/casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu-gnome.seed boot=casper iso-scan/filename=$isofile quiet splash ---
    initrd (loop)/casper/initrd.lz
}

menuentry "Wily Werewolf Unity 64bit" {
    set gfxpayload=keep
    set isofile="/wily-unity-daily-amd64.iso"
    loopback loop (hd0,2)$isofile
    linux (loop)/casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu-gnome.seed boot=casper iso-scan/filename=$isofile quiet splash ---
    initrd (loop)/casper/initrd.lz
}

menuentry "ArchBang 64-bit" {
    set isofile="/archbang-rc-150927-x86_64.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCHBANG img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/arch/boot/x86_64/archiso.img
}


menuentry "Architect 64-bit" {
echo    'Loading Architect 64-bit ...'
    set isofile="/architect-2015.10.05-64bit.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/x86_64/vmlinuz archisobasedir=arch archisolabel=architect-201510-64bit img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/arch/boot/x86_64/archiso.img
}

menuentry "Architect 32-bit" {
echo    'Loading Architect 32-bit ...'
    set isofile="/architect-2015.10.05-32bit.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/i686/vmlinuz archisobasedir=arch archisolabel=architect-201510-32bit img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/arch/boot/i686/archiso.img
}

menuentry "Archlinux x86_64" {
    set isofile="/archlinux-2015.09.01-dual.iso"
    set gfxpayload=keep
    echo 'Loading Archlinux 64-bit .......'
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/x86_64/vmlinuz archisobasedir=arch archisolabel=ARCH_201509 img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop noeject noprompt
    initrd (loop)/arch/boot/x86_64/archiso.img
}

menuentry "Archlinux i686" {
    set isofile="/archlinux-2015.09.01-dual.iso"
    set gfxpayload=keep
    echo 'Loading Archlinux 32-bit .......'
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/i686/vmlinuz archisobasedir=arch archisolabel=ARCH_201509 img_dev=/dev/sda2 img_loop=$isofile earlymodules=loop noeject noprompt
    initrd (loop)/arch/boot/i686/archiso.img
}

menuentry "Archboot 64-bit" {
    echo    'Loading Archboot 64-bit ...'
    set isofile="/archlinux-2015.09-1-archboot.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/boot/vmlinuz_x86_64 img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/boot/initramfs_x86_64.img
}

menuentry "Archboot 32-bit" {
    echo    'Loading Archboot 32-bit ...'
    set isofile="/archlinux-2015.09-1-archboot.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/boot/vmlinuz_i686 img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/boot/initramfs_i686.img
}


menuentry "Archboot Network 64-bit" {
    echo    'Loading Archboot Network 64-bit ...'
    set isofile="/archlinux-2015.09-1-archboot-network.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/boot/vmlinuz_x86_64 img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/boot/initramfs_x86_64.img
}

menuentry "Archboot Network 32-bit" {
    echo    'Loading Archboot Network 32-bit ...'
    set isofile="/archlinux-2015.09-1-archboot-network.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/boot/vmlinuz_i686 img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/boot/initramfs_i686.img
}

menuentry "Antergos 64-bit" {
    echo    'Loading Antergos  64-bit ...'
    set isofile="/antergos-2015.09.13-x86_64.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/vmlinuz archisolabel=ANTERGOS img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/arch/boot/archiso.img
}

menuentry "Antergos Minimal 64-bit" {
    echo    'Loading Antergos Minimal 64-bit ...'
    set isofile="/antergos-minimal-2015.09.13-x86_64.iso"
    set gfxpayload=keep
    loopback loop (hd0,2)$isofile
    linux (loop)/arch/boot/vmlinuz archisolabel=ANTERGOS img_dev=/dev/sda2 img_loop=$isofile  earlymodules=loop
    initrd (loop)/arch/boot/archiso.img
}

menuentry "Boot to Hard Disk" {
    chainloader +1
}

menuentry "Reboot" {
    reboot
}

menuentry "Poweroff" {
    halt
}


Offline scuz

  • Newbie
  • *
  • Posts: 10
Re: grub4dos
« Reply #7 on: August 11, 2025, 10:38:03 AM »
non iso boot

Code: [Select]
title coreplus sda1 cde>tce
   root (hd0,0)
   kernel /boot/coreplus/boot/vmlinuz waitusb=5 showapps desktop=icewm tce=sda1/boot/coreplus/tce noutc
  initrd /boot/coreplus/boot/core.gz
« Last Edit: August 12, 2025, 03:11:00 AM by Juanito »

Offline scuz

  • Newbie
  • *
  • Posts: 10
Re: grub4dos
« Reply #8 on: August 11, 2025, 03:25:53 PM »

 see TCE Q&A Forum / Re: How to install/setup the Grub2 bootloader on CorePlus ??


Offline gadget42

  • Hero Member
  • *****
  • Posts: 914
Re: grub4dos
« Reply #9 on: August 12, 2025, 03:00:12 AM »

 see TCE Q&A Forum / Re: How to install/setup the Grub2 bootloader on CorePlus ??


why is this post in quotes? i know rich asked you to use code and quote tags but we all assumed you would understand the when/why/how? what is your native language? which translator are you utilizing? which ai/llm/etc are you using?
** WARNING: connection is not using a post-quantum kex exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html

Offline scuz

  • Newbie
  • *
  • Posts: 10
Re: grub4dos
« Reply #10 on: August 12, 2025, 06:25:08 PM »
i like persistance
mount -o iso_path i use /iso/coreplus on 1st parition  /mnt/folder name i use /mnt/x
/mnt/x will be read only copy it to i use /boot/ then rename x to i use coreplus
rename the cde folder to tce in the i use /boot/coreplus

use syslinux memdisk
i keep it in my /img folder

Code: [Select]
title Coreplus.iso mem  cde>tce tab add waiteusb=5 tce=sda1/boot/coreplus/tce tz=America/Chicago
#fallback 7
 root (hd0,0)
# find  --ignore-floppies --ignore-cd --set-root  /img/CorePlus-16.1.iso
 map --mem /img/CorePlus-16.1.iso (0xff) || map --heads=0 --sectors-per-track=0 /img/CorePlus-16.1.iso (0xff)
map --hook
root (0xff)
kernel /boot/vmlinuz cde
initrd /boot/core.gz
chainloader (0xff)
#savedefault --wait=2

title CorePlus ISO cde>tce cde>tce tab add waiteusb=5 tce=sda1/boot/coreplus/tce tz=America/Chicago
root (hd0,0)
# find  --ignore-floppies --ignore-cd --set-root  /img/CorePlus-16.1.iso
map --mem /img/CorePlus-16.1.iso (0xff)
map --hook
root (0xff)
kernel /boot/vmlinuz cde
initrd /boot/core.gz

title  CorePlus-16.1.iso syslinux memdisk cde>tce tab edit boot options add waitusb=5 tce=sda1/boot/coreplus/tce tz=America/Chicago
root (hd0,0)
# find  --ignore-floppies --ignore-cd --se-root  /iso/CorePlus-16.1.iso
kernel /img/memdisk  raw
 initrd /iso/CorepLUS-16.1.iso


title coreplus sda1 cde>tce
   root (hd0,0)
   kernel /boot/coreplus/boot/vmlinuz waitusb=5 showapps desktop=icewm tce=sda1/boot/coreplus/tce tz=America/Chicago
  initrd /boot/coreplus/boot/core.gz
you can use root or find line
« Last Edit: Today at 06:22:48 AM by Juanito »

Offline nick65go

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 912
Re: grub4dos
« Reply #11 on: Today at 09:27:19 AM »
I will stay way of this topic; because "scuz" initially seams like an AI boot who was talking for itself... no question/help asked from it, like A.I. just wants to teach us something? Something which (maybe) is already in the wiki or other topics in this forum (using forum search function for this)?
BTW, TC developers are no longer "interested" in TC 3.x and TC 4.x (have all tcz storage out of their servers).
« Last Edit: Today at 09:32:18 AM by nick65go »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 15225
Re: grub4dos
« Reply #12 on: Today at 10:00:02 AM »
Post removed.

@scuz - please stop making posts in quotes.