{"id":48255545,"url":"https://github.com/mpolitzer/grub-iso-multiboot","last_synced_at":"2026-04-04T21:10:37.715Z","repository":{"id":54349869,"uuid":"84355893","full_name":"mpolitzer/grub-iso-multiboot","owner":"mpolitzer","description":"grab a .iso, put in a folder, boot it up.","archived":false,"fork":false,"pushed_at":"2023-06-05T13:24:15.000Z","size":5002,"stargazers_count":69,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-06-05T14:31:54.360Z","etag":null,"topics":["boot","grub","iso","loopback","multiboot"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mpolitzer.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-08T19:01:34.000Z","updated_at":"2023-06-05T13:23:43.000Z","dependencies_parsed_at":"2022-08-13T13:00:24.914Z","dependency_job_id":null,"html_url":"https://github.com/mpolitzer/grub-iso-multiboot","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/mpolitzer/grub-iso-multiboot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolitzer%2Fgrub-iso-multiboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolitzer%2Fgrub-iso-multiboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolitzer%2Fgrub-iso-multiboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolitzer%2Fgrub-iso-multiboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpolitzer","download_url":"https://codeload.github.com/mpolitzer/grub-iso-multiboot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpolitzer%2Fgrub-iso-multiboot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31414347,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boot","grub","iso","loopback","multiboot"],"created_at":"2026-04-04T21:10:37.275Z","updated_at":"2026-04-04T21:10:37.706Z","avatar_url":"https://github.com/mpolitzer.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [GRUB iso multiboot]\n\n+ Auto detect and create entries for .iso files in /iso/\n+ Preserves its boot options!\n+ Small and lean, few entries lots of images\n+ new iso, same script. No need to tweak around (ymmv).\n\n![preview with vimix](doc/vimix.png?raw=true \"vimix\")\n![preview with starfield](doc/starfield.png?raw=true \"starfield\")\n\nIf your pendrive is already formated to FAT skip to `2`\n\n## 1. Installation Guide (clean disk)\n\n```\nexport LABEL=\u003clabel-of-your-choice\u003e\n```\n\n### 1.1 Create a partition table:\n```\n# fdisk --wipe auto /dev/sdX\ng # GPT partition table\nn # new partition\n1 # first\n\u003center\u003e # use the whole disk\n\u003center\u003e # use the whole disk\nw # write\n```\n\n### 1.2 Format to FAT\n```\n# mkfs.fat -F32 -n $LABEL /dev/sdX1\n```\n\n## Or with `gparted`\n\n```\ngparted /dev/sdX\n# Device -\u003e Create Partition Table... -\u003e select: msdos -\u003e Apply\n# Partition -\u003e New -\u003e (configure options) -\u003e Add\n\tCreate as:   Primary Partition\n\tFile System: fat32\n\tLabel:       $LABEL\n# Apply all operations\n# Select partition /dev/sdX1 -\u003e Left click -\u003e Manage Flags -\u003e Enable boot flag\n```\n\n## 2. Installation Guide (formated disk)\n\n\n### 2.1a mount\n```\nmkdir -p /tmp/$LABEL\nsudo mount /dev/disk/by-label/$LABEL /tmp/$LABEL\n```\n\n### 2.1b mount (as a regular user)\n```\npmount /dev/disk/by-label/$LABEL\n# adapt destination to the created folder in /media for the following commands\n# mount point will look something like this: /media/disk_by-label_$LABEL\n```\n\n### 2.2 install grub \u0026 copy release files\n```\nsudo grub-install --force --removable --no-floppy \\\n    --target=x86_64-efi \\\n    --boot-directory=/tmp/$LABEL/boot/ \\\n    --efi-directory=/mnt/$LABEL/ /dev/sdX\ntar xvf grub-iso-multiboot.tar.gz -C /tmp/$LABEL\n```\n\n### 2.3a unmount\n```\numount /tmp/$LABEL\n```\n\n### 2.3b unmount\n```\npumount /media/disk_by-label_$LABEL\n```\n\n## 3. Adjusts\n\n### 3.1 I want my GRUB to look like that\n\nFind a [theme](https://www.gnome-look.org/browse/cat/109/ord/rating/) you would\nlike to use. The one from the screenshot above is\n[vimix](https://www.gnome-look.org/p/1009236/#files-panel).\n\nMove the theme contents to the `themes` folder of the instalation, like so:\n\n```\nmount /dev/disk/by-label/$LABEL /tmp/$LABEL\ntar xvf Vimix-1080p.tar.xz -C /tmp/\nmv /tmp/Vimix-1080p/Vimix /tmp/$LABEL/boot/grub/themes/vimix\n```\n\nDouble check that you have the `theme.txt` file in the correct place\n`/tmp/$LABEL/boot/grub/themes/vimix/theme.txt`.\n\nAs the last step, select the theme in `/tmp/$LABEL/boot/grub/grub.cfg`:\n\n```diff\n-  set theme=/boot/grub/themes/starfield/theme.txt\n+  set theme=/boot/grub/themes/vimix/theme.txt\n```\n\nrelease the pendrive.\n\n```\numount /tmp/$LABEL\n```\n\n## 4. Add isos to /boot/iso/\n\nMenu entries will be populated according to the files present during boot.\nTo add isos via terminal, just copy them over:\n\n```\nmount /dev/disk/by-label/$LABEL /tmp/$LABEL\ncp \u003cmy-iso-file\u003e.iso /tmp/$LABEL/boot/iso/\numount /tmp/$LABEL\n```\n\n## 5. Development\n\nA `Dockerfile` is provided to help building the project.\nIt will setup a compilation environment \n\n```\nsudo qemu-system-x86_64 --enable-kvm /dev/sda -bios /usr/share/edk2-ovmf/OVMF_CODE.fd\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolitzer%2Fgrub-iso-multiboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpolitzer%2Fgrub-iso-multiboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpolitzer%2Fgrub-iso-multiboot/lists"}