Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/06/2026, à 19:34

iznobe

[ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour , j ' ai une image ISO de ubuntu noble , et j' aimerais faire un lancement de celle-ci via le GRUB.

iznobe@iznobe-PC-U26:~$ ls -l /home/iznobe/Ressources/isos/X86-64 | grep noble
-rw-r----- 1 iznobe iznobe   5107744768 Jan  7  2024 noble-desktop-amd64.iso
iznobe@iznobe-PC-U26:~$ 

quelle serait la manière de faire svp ?

Dernière modification par iznobe (Hier à 19:38)

Hors ligne

#2 Le 01/06/2026, à 19:38

cqfd93

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB


cqfd93

Hors ligne

#3 Le 01/06/2026, à 20:17

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour CQFD93 , et merci .

Je vais tester ça.

Hors ligne

#4 Le 01/06/2026, à 20:41

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Il doit manquer une partie non ?
comment il sait dans quel disque / partition aller chercher  le fichier image / iso ?

menuentry "..    Xubuntu Oracular 24.10 (Daily build)" {
	iso_path="/isos/Oracular-desktop-amd64.iso"
	export iso_path
	search --set=root --file $iso_path
	loopback loop $iso_path
        echo "Lancement de l'iso en cours, veuillez patienter.."
	root=(loop)
	configfile /boot/grub/loopback.cfg
	loopback --delete loop
}

bref , j ' ai tester quand meme avec le GRUB de debian et mon fichier :

iznobe@iznobe-PC:~$ cat  /etc/grub.d/40_custom 
#!/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.

menuentry "Windows ( nvme0n1p1 )" {
    insmod part_gpt
    insmod fat
    search --no-floppy --fs-uuid --set=root 853D-995A # UUID de la partition EFI
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry "ArchLinux SSD ( nvme0n1p3 )" --class ubuntu --class gnu-linux --class gnu --class os --id "Arch_SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 224086d1-a670-4587-ad74-604b39bd7444
        configfile /boot/grub/grub.cfg
        #linux /vmlinuz-linux root=UUID=224086d1-a670-4587-ad74-604b39bd7444 rw zswap.enabled=0 rootfstype=ext4 loglevel=3 quiet
        #initrd /intel-ucode.img /initramfs-linux.img
}


menuentry "Linux Mint 22.3 Zena  SSD ( nvme0n1p5 )" --class ubuntu --class gnu-linux --class gnu --class os --id "LM_22.3_SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root eb18366b-2ac9-4a7e-8f93-ba2caa30e90e
        configfile /boot/grub/grub.cfg
}

menuentry "Ubuntu 20.04 LTS ( nvme0n1p6 )" --class ubuntu --class gnu-linux --class gnu --class os --id "Ubuntu 20.04 SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 06bc0f51-50e8-4ed4-8090-903acdb7df3f
        configfile /boot/grub/grub.cfg
}

menuentry "Ubuntu Budgie 22.04 ( nvme0n1p7 )" --class ubuntu --class gnu-linux --class gnu --class os --id "U-Budgie 22.04 SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 8ab22881-60b3-47aa-a0bf-54c292afae81
        configfile /boot/grub/grub.cfg
}

menuentry "Ubuntu 24.04 ( nvme0n1p8 )" --class ubuntu --class gnu-linux --class gnu --class os --id "Ubuntu 24.04 SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root dca54497-1ab2-4c12-bc82-53b817300288
        configfile /boot/grub/grub.cfg
}

menuentry "Linux Mint 22.3 Zena NEW ( nvme0n1p9 )" --class ubuntu --class gnu-linux --class gnu --class os --id "LM_22.3_NEW_SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root df3cd676-80e7-46ef-a28e-5dbe3ea5ddf7
        configfile /boot/grub/grub.cfg
}

menuentry "Debian Trixie ( nvme0n1p10 )" --class ubuntu --class gnu-linux --class gnu --class os --id "debian 13_SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 50149f7c-d2c3-4119-b937-328b22a577d4
        configfile /boot/grub/grub.cfg
}

menuentry "Ubuntu 26.04_SSD ( nvme0n1p12 )" --class ubuntu --class gnu-linux --class gnu --class os --id "Ubuntu 26.04 SSD" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root a2c52fb5-3581-49f0-8651-1684d4de6376
        configfile /boot/grub/grub.cfg
}

menuentry "Ubuntu 26.04 ( sda3 )" --class ubuntu --class gnu-linux --class gnu --class os --id "Ubuntu 26.04" {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 87eeac5a-1891-4e55-b4e1-9f84e7952b83
        configfile /boot/grub/grub.cfg
}

menuentry 'ISO ubuntu Noble' {
        set iso_path="/datas/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
        search --set=root --file $iso_path
        loopback loop $iso_path
        echo    "Lancement de l'iso en cours, veuillez patienter.."
        linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/xubuntu.seed noprompt quiet splash toram --
        initrd (loop)/casper/initrd
}
iznobe@iznobe-PC:~$ 

Réponse au test de démarrage sur l ' iso de ubuntu 24.04 :

no suche device

.

Comme c ' est debian , c ' est peut être " normal " vu que :

root@iznobe-PC:/# apt policy casper
Notification : Impossible de trouver le paquet casper
root@iznobe-PC:/# apt policy casper*
Notification : Impossible de trouver le paquet casper*
Notification : Impossible de trouver de paquet correspondant à l'expression rationnelle « casper* »
root@iznobe-PC:/# 
root@iznobe-PC:/# cat /etc/os*release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.5
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@iznobe-PC:/# 

Dernière modification par iznobe (Le 01/06/2026, à 20:48)

Hors ligne

#5 Le 01/06/2026, à 20:46

lynn

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Salut,

Un exemple avec Ubuntu 24.04.4 qui fonctionne :

menuentry "ubuntu-24.04.4-desktop-amd64.iso" {
    search --no-floppy --fs-uuid --set=root fa4f07bb-718d-47be-bebc-c602a6575d7d
    set isofile="/Ubuntu/ubuntu-24.04.4-desktop-amd64.iso"
    probe -u $root --set=abc
    set pqr=/dev/disk/by-uuid/$abc
    loopback loop $isofile
    linux (loop)/casper/vmlinuz \
        findiso=$isofile \
        iso-scan/filename=$isofile \
        boot=casper \
        quiet \
        splash \
        ---
    initrd (loop)/casper/initrd
}

L'uuid de la partition est à remplacer par la tienne et le chemin de ton iso dans ta partition, ici à la racine de la partition :

/Ubuntu/ubuntu-24.04.4-desktop-amd64.iso

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

En ligne

#6 Le 01/06/2026, à 20:49

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Salut er merci lynn .

je n ' ai plus de ubuntu 24.04 , mais avec ton exemple c ' est quand même bien plus clair .

Hors ligne

#7 Le 01/06/2026, à 20:54

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

L'uuid de la partition est à remplacer par la tienne et le chemin de ton iso dans ta partition, ici à la racine de la partition :

/Ubuntu/ubuntu-24.04.4-desktop-amd64.iso

juste une question , du coup dans le chemin : " /Ubuntu/ubuntu-24.04.4-desktop-amd64.iso " , " /Ubuntu " , c ' est quoi ??? le LABEL ? comment je trouve ça chez moi ?
car en toute logique , ( dans mon esprit ) si l' iso est à la racine , le chemin devrait être : " /ubuntu-24.04.4-desktop-amd64.iso " .

Dernière modification par iznobe (Le 01/06/2026, à 20:56)

Hors ligne

#8 Le 01/06/2026, à 21:09

bluc

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour
a une période j'utilisais grml-rescueboot

Dernière modification par bluc (Le 01/06/2026, à 21:15)


Clevo :  Ubuntu 24.04   ❖  Xubuntu 24.04  ❖  Kubuntu 23.10   
         avec partition data commune       Une fraction de seconde                    Multiboot

Hors ligne

#9 Le 01/06/2026, à 21:30

lynn

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

iznobe a écrit :

L'uuid de la partition est à remplacer par la tienne et le chemin de ton iso dans ta partition, ici à la racine de la partition :

/Ubuntu/ubuntu-24.04.4-desktop-amd64.iso

juste une question , du coup dans le chemin : " /Ubuntu/ubuntu-24.04.4-desktop-amd64.iso " , " /Ubuntu " , c ' est quoi ??? le LABEL ? comment je trouve ça chez moi ?
car en toute logique , ( dans mon esprit ) si l' iso est à la racine , le chemin devrait être : " /ubuntu-24.04.4-desktop-amd64.iso " .

L'uuid, c'est celui de la partition où est situé ton fichier iso. Exemple chez moi :

La partition est montée sur /mnt et a pour label ISO_BOOT

NAME        FSTYPE FSVER LABEL        UUID                                 FSAVAIL FSUSE% MOUNTPOINTS    MODEL        
└─nvme0n1p6 ext4   1.0   ISO_BOOT     fa4f07bb-718d-47be-bebc-c602a6575d7d  226,1G    42% /mnt/ISO_BOOT

Les infos sont dispos avec la commande

lsblk -fe7 -o+MODEL

À la racine de ISO_BOOT, je trouve mon répertoire nommé Ubuntu et dans celui ci mon iso : ubuntu-24.04.4-desktop-amd64.iso



Edit : /!\ Ici c'est la racine de la partition à laquelle correspond l'uuid et non pas la racine du système d'exploitation /!\

Dernière modification par lynn (Le 01/06/2026, à 21:34)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

En ligne

#10 Le 01/06/2026, à 22:42

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Merci .
ok , donc le chemin que j' ai noté est le bon .

Hors ligne

#11 Le 01/06/2026, à 23:05

MicP

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour

Pour faire ce test, j'ai copié le fichier image ISO xubuntu-26.04-desktop-amd64.iso à la racine de mon système debian 13.5

Puis j'ai modifié mon fichier /etc/grub.d/40_custom
de façon à ce qu'il contienne :

#!/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.

menuentry "Xubuntu 26.04 ISO" {
    set isofile="/xubuntu-26.04-desktop-amd64.iso"
    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile
    initrd (loop)/casper/initrd
}

(la variable root est définie au tout début du fichier /boot/grub/grub.cfg et a pour valeur l'UUID du système de fichier racine utilisé par mon système debian 13 (à la racine duquel j'ai copié le fichier xubuntu-26.04-desktop-amd64.iso).

J'ai ensuite lancé la ligne de commande suivante :

sudo update-grub

Puis j'ai redémarré la machine et j'ai pu choisir Xubuntu 26.04 ISO dans le menu proposé par grub pour lancer le système live.

EDIT : je n'utilises pas l'UEFI sur cette machine
(mais je ne crois pas que ça change grand chose, je le précise juste au cas où…)

mic@deb13:~$ cat /etc/os*release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.5
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
mic@deb13:~$

Dernière modification par MicP (Le 04/06/2026, à 15:22)

Hors ligne

#12 Le 02/06/2026, à 07:22

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour , je dois pas etre doué , j ' ai essayé :

bluc a écrit :

Bonjour
a une période j'utilisais grml-rescueboot

Manuellement en décrivant la partition + chemin et diverses variantes , et je tombe toujours sur le même message d' erreur .
j ' avais en plus l ' erreur : mémoire épuisée ...

j ' ai essayé avec GRUB de debian 13 et GRUB de ubuntu 22.04 ( des fois que ...) 

je laisse tomber , merci pour votre aide .

Dernière modification par iznobe (Le 02/06/2026, à 07:26)

Hors ligne

#13 Le 04/06/2026, à 08:31

lynn

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour,

Voici un petit script pour générer une entrée fonctionnelle pour Ubuntu et quelques autres distributions. Très simple à utiliser (je l'ai nommé gen40 pour l'exemple) :

./gen40 -f /path/to/file.iso
#!/bin/bash
IFS=$'\n\t'

CUSTOM_FILE="/etc/grub.d/40_custom"

# ----------------------
# Couleurs ANSI
# ----------------------
red='\033[0;31m'; green='\033[0;32m'; yellow='\033[1;33m'
cyan='\033[0;36m'; magenta='\033[0;35m'; blue='\033[0;34m'; nc='\033[0m'

# ----------------------
# Help
# ----------------------
print_help() {
cat <<EOF
$(echo -e "${blue}Usage:${nc}") $0 [options]

$(echo -e "${blue}Options:${nc}")
  $(echo -e "${green}-h${nc}")          Affiche ce message
  $(echo -e "${green}-l${nc}")          Liste les entrées existantes dans /etc/grub.d/40_custom
  $(echo -e "${green}-r <num>${nc}")    Supprime l'entrée numérotée dans /etc/grub.d/40_custom
  $(echo -e "${green}-f <path>${nc}")   Spécifie le chemin vers le fichier ISO

$(echo -e "${blue}Exemple:${nc}")
  $0 -f /chemin/vers/fichier.iso
EOF
}

# ----------------------
# Vérifie root
# ----------------------
require_root() {
    local action_desc="$1"
    local timestamp_file="/tmp/${0##*/}_last_sudo.timestamp"
    local delay_seconds=300

    shift
    if (( EUID != 0 ))
    then
        if [ -f "$timestamp_file" ]
        then
            local last_time
            last_time=$(cat "$timestamp_file")
            local current_time
            current_time=$(date +%s)
            local elapsed=$((current_time - last_time))
            if (( elapsed < delay_seconds ))
            then
                exec sudo bash "$0" "$@"
                return
            fi
        fi

        echo -e "${yellow}Relance du script avec sudo pour ${action_desc}...${nc}"
        date +%s > "$timestamp_file"
        exec sudo bash "$0" "$@"
    fi
}

# ----------------------
# Parsing options
# ----------------------
iso_path=""
while getopts ":f:hlr:" opt
do
    case $opt in
        f) 
        iso_path="$OPTARG"
        ;;
        
        h) 
        print_help
        exit 0 
        ;;
        
        l)
        [ ! -f "$CUSTOM_FILE" ] && echo -e "${red}Fichier introuvable${nc}" && exit 1
        mapfile -t entries < <(grep -oP '^menuentry "\K[^"]+' "$CUSTOM_FILE")
        if ((${#entries[@]} == 0))
        then
            echo -e "${yellow}Aucune entrée trouvée${nc}"
            exit 0
        fi
        for i in "${!entries[@]}"
        do
            printf "${magenta}[%02d]${nc} %s\n" $((i+1)) "${entries[$i]}"
        done
        exit 0
        ;;
        
        r)
        num="$OPTARG"
        num=$((10#$num))
        require_root "suppression d'une entrée" "$@"
        if [ ! -f "$CUSTOM_FILE" ]
        then
            echo -e "${red}Erreur :${nc} Fichier ${yellow}$CUSTOM_FILE${nc} introuvable."
            exit 1
        fi
        mapfile -t lines < "$CUSTOM_FILE"
        mapfile -t entry_starts < <(grep -n '^menuentry "' "$CUSTOM_FILE" | cut -d: -f1)
        
        if (( num < 1 || num > ${#entry_starts[@]} ))
        then
            echo -e "${red}Erreur :${nc} Numéro hors limites."
            exit 1
        fi
        
        start_line="${entry_starts[$((num-1))]}"
        end_line=""
        
        for ((i=start_line; i<=${#lines[@]}; i++))
        do
            if [[ "${lines[i-1]}" =~ ^\} ]]
            then
                end_line=$i
                break
            fi
        done
        
        if (( end_line < ${#lines[@]} ))
        then
            if [[ -z "${lines[end_line]}" ]]
            then
                end_line=$((end_line+1))
            fi
        fi
        
        echo -e "${cyan}Suppression de l'entrée :${nc}"
        for ((i=start_line-1; i<end_line; i++))
        do
            echo "${lines[i]}"
        done
        
        new_lines=()
        for ((i=0; i<${#lines[@]}; i++))
        do
            if (( i >= start_line-1 && i < end_line ))
            then
                continue
            fi
            new_lines+=("${lines[i]}")
        done
        
        while (( ${#new_lines[@]} > 0 ))
        do
            last_index=$(( ${#new_lines[@]} - 1 ))
            if [[ -z "${new_lines[$last_index]}" ]]
            then
                unset 'new_lines[$last_index]'
            else
                break
            fi
        done
        
        if (( ${#new_lines[@]} > 0 ))
        then
            if [[ "${new_lines[-1]}" != "}" ]]
            then
                new_lines+=("}")
            fi
        fi
        
        printf '%s\n' "${new_lines[@]}" | tee "$CUSTOM_FILE" >/dev/null
        
        echo -e "${green}Entrée supprimée.${nc}"
        update-grub
        exit 0
        ;;
        
        \?) 
        echo -e "${red}Option invalide: -$OPTARG${nc}"
        print_help
        exit 1 
        ;;
        
        :)  
        echo -e "${red}Option -$OPTARG requiert un argument${nc}"
        print_help
        exit 1 
        ;;
        
        *)  
        echo -e "${red}Erreur inconnue${nc}"
        print_help
        exit 1 
        ;;
    esac
done

# ----------------------
# Vérification ISO
# ----------------------
[ -z "$iso_path" ] && echo -e "${red}ISO requis (-f)${nc}" && print_help && exit 1
[ ! -f "$iso_path" ] && echo -e "${red}ISO introuvable${nc}" && exit 1

require_root "ajout d'une entrée ISO" "$@"

# ----------------------
# Extraction live depuis grub.cfg ISO
# ----------------------
extract_live_entry() {
    local iso="$1"
    local iso_mnt="/tmp/.iso_mount.$$"
    mkdir -p "$iso_mnt" || {
        echo -e "${red}Erreur :${nc} Impossible de créer $iso_mnt."
        exit 1
    }

    local loopdev
    loopdev=$(losetup -f --show "$iso" 2>/dev/null) || {
        echo -e "${red}Erreur :${nc} Impossible de créer une boucle pour $iso."
        rm -rf "$iso_mnt"
        exit 1
    }

    mount -o ro "$loopdev" "$iso_mnt" 2>/dev/null || {
        echo -e "${red}Erreur :${nc} Impossible de monter $iso."
        losetup -d "$loopdev" 2>/dev/null
        rm -rf "$iso_mnt"
        exit 1
    }

    shopt -s nocasematch
    local distro="unknown"
    if [[ "$iso" =~ (manjaro) ]]; then
        distro="manjaro"
    elif [[ "$iso" =~ (cachyos|endeavouros|arch) ]]; then
        distro="arch"
    elif [[ "$iso" =~ (ubuntu|linuxmint) ]]; then
        distro="ubuntu_like"
    elif [[ "$iso" =~ (fedora) ]]; then
        distro="fedora"
    elif [[ "$iso" =~ (debian|kali) ]]; then
        distro="debian_like"
    elif [[ "$iso" =~ (opensuse) ]]; then
        distro="opensuse"
    elif [[ "$iso" =~ (solus) ]]; then
        distro="solus"
    fi
    shopt -u nocasematch

    # Fichier de configuration grub ou équivalent
    local grubcfg=""
    if [ -f "$iso_mnt/boot/grub/grub.cfg" ]; then
        grubcfg="$iso_mnt/boot/grub/grub.cfg"
    elif [ -f "$iso_mnt/boot/grub/loopback.cfg" ]; then
        grubcfg="$iso_mnt/boot/grub/loopback.cfg"
    elif [ -f "$iso_mnt/boot/grub2/grub.cfg" ]; then
        grubcfg="$iso_mnt/boot/grub2/grub.cfg"
    elif [ -f "$iso_mnt/loader/entries/fallback.conf" ]; then
        grubcfg="$iso_mnt/loader/entries/fallback.conf"
    elif [ -f "$iso_mnt/EFI/BOOT/grub.cfg" ]; then
        grubcfg="$iso_mnt/EFI/BOOT/grub.cfg"
    fi

    if [ -z "$grubcfg" ] && [ "$distro" != "solus" ]; then
        echo "Fichier de configuration introuvable dans l'ISO"
        umount "$iso_mnt" 2>/dev/null
        losetup -d "$loopdev" 2>/dev/null
        rm -rf "$iso_mnt"
        exit 1
    fi

    # Trouver noyau et initrd selon la distribution
    local real_kernel_name initrd_files

    case $distro in
        manjaro)
            real_kernel_name=$(find "$iso_mnt/boot" -type f -name 'vmlinuz*' -print -quit 2>/dev/null)
            real_kernel_name="${real_kernel_name#"$iso_mnt"}"
            initrd_files=$(find "$iso_mnt/boot" -type f \( -name 'initramfs*.img' -o -name 'initrd*.img' \) -print -quit 2>/dev/null)
            initrd_files="${initrd_files#"$iso_mnt"}"
            ;;
        arch)
            real_kernel_name=$(find "$iso_mnt/arch/boot/x86_64" -type f -name 'vmlinuz*' -print -quit 2>/dev/null)
            real_kernel_name="${real_kernel_name#"$iso_mnt"}"
            initrd_files=$(find "$iso_mnt/arch/boot/x86_64" -type f \( -name 'initramfs*.img' -o -name 'archiso.img' \) -print -quit 2>/dev/null)
            initrd_files="${initrd_files#"$iso_mnt"}"
            ;;
        solus)
            real_kernel_name="/boot/kernel"
            initrd_files="/boot/initrd.img"
            grubcfg=""
            ;;
        fedora|opensuse)
            real_kernel_name="/boot/x86_64/loader/linux"
            initrd_files="/boot/x86_64/loader/initrd"

            if [ -f "$iso_mnt/boot/grub2/grub.cfg" ]; then
                mapfile -t new_opts < <(
                awk '
                    /^\s*linux/ {
                        sub(/^\s*linux\s+[^ ]+\s+/, "")
                        sub(/\\$/, "")
                        split($0, opts)
                        for (i in opts) {
                            opt = opts[i]
                            if (opt !~ /^(root=live:CDLABEL=|rd\.live\.image|quiet|rhgb|findiso|iso-scan)$/ && !seen[opt]++) {
                                print opt
                            }
                        }
                        exit
                    }
                ' "$iso_mnt/boot/grub2/grub.cfg"
                ) || return 1
                [[ ${#new_opts[@]} -gt 0 ]] && opts+=("${new_opts[@]}")
            fi
            ;;
        debian_like|kali)
            real_kernel_name=$(find "$iso_mnt/live" -type f -name 'vmlinuz*' -print -quit 2>/dev/null)
            real_kernel_name="${real_kernel_name#"$iso_mnt"}"
            initrd_files=$(find "$iso_mnt/live" -type f -name 'initrd*' -print -quit 2>/dev/null)
            initrd_files="${initrd_files#"$iso_mnt"}"
            ;;
        ubuntu_like)
            real_kernel_name=$(find "$iso_mnt/casper" "$iso_mnt/live" -type f -name 'vmlinuz*' -print -quit 2>/dev/null)
            real_kernel_name="${real_kernel_name#"$iso_mnt"}"
            initrd_files=$(find "$iso_mnt/casper" "$iso_mnt/live" -type f -name 'initrd*' -print -quit 2>/dev/null)
            initrd_files="${initrd_files#"$iso_mnt"}"
            ;;
        *)
            ;;
    esac

    if [ -z "$real_kernel_name" ]; then
        real_kernel_name=$(find "$iso_mnt" -type f -name 'vmlinuz*' 2>/dev/null | head -n1)
        real_kernel_name="${real_kernel_name#"$iso_mnt"}"
    fi

    if [ -z "$initrd_files" ]; then
        initrd_files=$(find "$iso_mnt" -type f -name 'initrd*' -o -name 'initramfs*' 2>/dev/null | head -n1)
        initrd_files="${initrd_files#"$iso_mnt"}"
    fi

    if [ -z "$real_kernel_name" ]; then
        echo "Aucun noyau trouvé dans l'ISO"
        umount "$iso_mnt" 2>/dev/null
        losetup -d "$loopdev" 2>/dev/null
        rm -rf "$iso_mnt"
        exit 1
    fi

    if [ -z "$initrd_files" ]; then
        echo "Aucun fichier initrd trouvé dans l'ISO"
        umount "$iso_mnt" 2>/dev/null
        losetup -d "$loopdev" 2>/dev/null
        rm -rf "$iso_mnt"
        exit 1
    fi

    # Récupère UUID et chemin relatif ISO (avec conversion en chemin absolu)
    local partition uuid mountpoint iso_rel iso_abs
    if [[ "$iso" != /* ]]; then
        iso_abs="$(realpath "$iso")"
    else
        iso_abs="$iso"
    fi
    partition=$(df --output=source "$iso_abs" | tail -n1)
    uuid=$(lsblk -n -o UUID "$partition" 2>/dev/null | head -n1)
    mountpoint=$(findmnt -n -o TARGET --source "$partition" 2>/dev/null)
    iso_rel="/${iso_abs#"$mountpoint"/}"

    # Préparation des options selon la distribution
    local opts=(
        "findiso=\$isofile"
        "iso-scan/filename=\$isofile"
    )

    case $distro in
        manjaro)
            opts+=(
                "img_loop=\$isofile"
                "img_dev=$uuid"
                "driver=free"
                "nouveau.modeset=1"
                "rd.driver.blacklist=nouveau"
                "nouveau.blacklist=yes"
                "quiet"
                "splash"
            )
            ;;
        arch)
            opts=(
                "img_loop=\$isofile"
                "archisobasedir=arch"
                "archiso_hook=archiso_loop_mount"
                "cow_spacesize=4G"
                "quiet"
                "splash"
            )
            ;;
        fedora)
            opts+=(
                "quiet"
                "rhgb"
                "root=live:CDLABEL=$(blkid -o value -s LABEL "$iso_abs" 2>/dev/null)"
                "rd.live.image"
            )
            ;;
        solus)
            opts=(
                "root=live:CDLABEL=$(blkid -o value -s LABEL "$iso_abs" 2>/dev/null)"
                "ro"
                "rd.luks=0"
                "rd.md=0"
                "rd.live.overlay.overlayfs=1"
                "iso-scan/filename=\$isofile"
                "quiet"
                "splash"
                "--"
            )
            ;;
        kali)
            opts+=(
                "boot=live"
                "iso-scan/filename=\$isofile"
                "live-media-path=/live"
                "quiet"
                "splash"
            )
            ;;
        ubuntu_like)
            opts+=(
                "boot=casper"
                "iso-scan/filename=\$isofile"
                "quiet"
                "splash"
                "---"
            )
            ;;
        debian_like)
            opts+=(
                "boot=live"
                "iso-scan/filename=\$isofile"
                "live-media-path=/live"
                "quiet"
            )
            ;;
         *)
            ;;
    esac

    if [ -n "$grubcfg" ]; then
        while IFS= read -r line; do
            if [[ "$line" =~ ^[[:space:]]*linux ]]; then
                local kernel_opts
                if ! kernel_opts=$(sed -E 's/^\s*linux\s+[^ ]+\s+//' <<< "$line"); then
                    echo -e "${red}Erreur : Impossible d'extraire les options du noyau${nc}" >&2
                    continue
                fi

                local opt
                while IFS= read -r opt; do
                    case $opt in
                        quiet|splash|---|persistent|username=*|hostname=*|components|noeject)
                            if ! printf '%s\n' "${opts[@]}" | grep -q -- "^${opt}$"; then
                                opts+=("$opt")
                            fi
                            ;;
                        *)
                            ;;  # Ignorer les autres options
                    esac
                done < <(tr ' ' '\n' <<< "$kernel_opts")
                break
            fi
        done < "$grubcfg"
    fi

    # Supprimer les doublons
    mapfile -t opts < <(awk '!seen[$0]++' < <(printf "%s\n" "${opts[@]}"))

    # Génération entrée finale
    {
        echo "menuentry \"$(basename "$iso_abs")\" {"
	echo "    insmod part_gpt"
	echo "    insmod part_msdos"
        echo "    search --no-floppy --fs-uuid --set=root $uuid"
        echo "    set isofile=\"$iso_rel\""
        echo "    probe -u \$root --set=abc"
        echo "    set pqr=/dev/disk/by-uuid/\$abc"
        echo "    loopback loop \$isofile"

        # Début de la ligne linux
        echo -n "    linux (loop)$real_kernel_name"

        # Ajouter img_dev seulement si aucun mécanisme live équivalent n'est déjà présent
        if awk '
        BEGIN { found=0 }
        $0 ~ /^root=live:/           { found=1 }
        $0 ~ /^rd\.live\.squashimg=/ { found=1 }
        $0 == "boot=casper"          { found=1 }
        $0 == "boot=live"            { found=1 }
        $0 ~ /^img_dev=/             { found=1 }
        END { exit found }
        ' < <(printf '%s\n' "${opts[@]}"); then
            opts+=("img_dev=\$pqr")
        fi

        # Formatage des options
        if [ ${#opts[@]} -gt 0 ]; then
            echo " \\"
            for ((i=0; i<${#opts[@]}; i++)); do
                if (( i < ${#opts[@]}-1 )); then
                    echo "        ${opts[i]} \\"
                else
                    echo "        ${opts[i]}"
                fi
            done
        else
            echo
        fi

        echo "    initrd (loop)$initrd_files"
        echo "}"
    }

    # Nettoyage
    umount "$iso_mnt" 2>/dev/null
    losetup -d "$loopdev" 2>/dev/null
    rm -rf "$iso_mnt"
}

# ----------------------
# Génération + affichage
# ----------------------
grub_entry=$(extract_live_entry "$iso_path") || exit 1

echo -e "${blue}=== Entrée GRUB générée ===${nc}\n$grub_entry\n"

read -rp "Intégrer cette entrée dans $CUSTOM_FILE ? [O/n/q] " integrate
case $integrate in
    [Oo]|"")
        [ -s "$CUSTOM_FILE" ] && [ "$(tail -c1 "$CUSTOM_FILE")" != $'\n' ] && echo >> "$CUSTOM_FILE"
        echo "$grub_entry" | tee -a "$CUSTOM_FILE" >/dev/null
        update-grub
        echo -e "${green}Entrée ajoutée et GRUB mis à jour.${nc}"
        ;;
    
    [Nn])
        echo -e "${yellow}Copiez manuellement l'entrée et exécutez : sudo update-grub${nc}"
        ;;
    
    [Qq])
        exit 0
        ;;
    
    *)
        echo -e "${red}Impossible d'ajouter l'entrée au fichier $CUSTOM_FILE${nc}"
        exit 1
        ;;
esac

Edit du 06/06 : Ajout des modules GPT et msdos dans l'entrée générée par le script ci-dessus.

Dernière modification par lynn (Aujourd'hui à 10:43)


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

En ligne

#14 Le 04/06/2026, à 09:15

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour et merci @lynn , je testerai ça des que j' aurais un peu plus de temps .

Pour préciser le contexte , le problème était pour le lancement / démarrage de l ' iso .
l ' entrée du GRUB apparaissait correctement .

Hors ligne

#15 Le 04/06/2026, à 11:28

geole

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour iznobe
Je n'ai pas très compris ton incident.
Je te rappelle qu'en 24.04,  il peut falloir un quart d'heure pour pouvoir choisir "essayer avant d'installer"... C'est le test que je viens de faire
Je n'ai pas tenté la vraie installation, mais  elle devrait certainement fonctionner.......

cat /etc/grub.d/40_custom
#!/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.
menuentry "..    ubuntu 24.04.3 LTS ...." {
	set iso_path="/isos/ubuntu-24.04.3-desktop-amd64.iso"
	search --set=root --file $iso_path
	loopback loop $iso_path
	linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper file=/cdrom/preseed/ubuntu.seed noprompt quiet splash toram --
	initrd (loop)/casper/initrd
}

Les écrans de l'installateur 26.04 https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity

Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#16 Le 04/06/2026, à 11:43

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

mon problème avec tous les essais que j' ai fait , c ' est qu ' après avoir choisi l ' entrée correspondante , l ' iso ne se lance pas et j ' ai un message d ' erreur à la place disant que " no such device , file xxx.iso " n ' existe pas " sur la 1ere ligne , ou bien , " mémoire épuisée " en 1ere ligne , puis  " no such device , file xxx.iso " sur la 2eme ligne .
en 3eme ligne ( ou 2eme , selon les cas ) , j ' avais bien : " Lancement de l'iso en cours, veuillez patienter.. " qui s' affichait .


Même chose avec le test pour grml-rescueboot proposé par @bluc .


j ' avoue que je suis un peu perdu , surtout que le chemin du fichier .iso me semble bon .

Pour mes tests , j ' avais mis :

menuentry 'ISO ubuntu Noble' {
        search --no-floppy --fs-uuid --set=root UUID_de_la_partition_data
        set iso_path="/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
        search --set=root --file $iso_path
        loopback loop $iso_path
        echo    "Lancement de l'iso en cours, veuillez patienter.."
        linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper noprompt quiet splash toram --
        initrd (loop)/casper/initrd
}

comme je ne suis pas devant mon ordi , je ne sais pas quel est le bon " UUID_de_la_partition_data " ... mais je pense pas  m' être trompé la non plus .


Comme le fichier iso est sur un autre disque que le disque NVME ( c ' est lui qui est configuré dans le BIOS pour démarrer ) , peut être que c ' est le problème ...
Sauf dans le cas de grml-rescueboot puisqu ' il était dit de copier l' iso dans " /boot/grml " ( de mémoire ) , ce que j ' ai fait , bien entendu .

Dernière modification par iznobe (Le 04/06/2026, à 11:53)

Hors ligne

#17 Le 04/06/2026, à 11:54

geole

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

iznobe a écrit :

Comme le fichier iso est sur un autre disque que le disque NVME ( c ' est lui qui est configuré dans le BIOS pour démarrer ) , peut être que c ' est le problème ...

Quasi une certitude. ou alors le multi-niveau est buggé.

Dernière modification par geole (Le 04/06/2026, à 12:36)


Les écrans de l'installateur 26.04 https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity

Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#18 Le 04/06/2026, à 13:41

corradoventu

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Si vous utilisez grml-rescueboot, vous pouvez modifier /etc/default/grml-rescueboot comme je l'ai fait pour pointer vers votre ISO.

corrado@corrado-n8-ss-0424:~$ cat  /etc/default/grml-rescueboot
## Configuration file for Debian package grml-rescueboot.

# Location of ISOs:
# ISO_LOCATION="/boot/grml/"
ISO_LOCATION="/home/corrado/Downloads/"
.....

Retraitè: ex-Ingénieur IBM mainframe z/OS DB2
Équipement : Gigabyte H510M Intel i5-11400 Intel UHD Graphics 730, portable Dell Inspiron 3793 i5-1035G1
Ubuntu Linux 24.04, 25.10, 26.04, Debian 14 Forky/sid
pardonne-moi mon français, ce n'est pas ma langue

Hors ligne

#19 Le 04/06/2026, à 14:39

MicP

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonjour

Dans son message #16, iznobe a écrit :
…
        search --no-floppy --fs-uuid --set=root UUID_de_la_partition_data
…

On est bien d'accord que quand tu écris UUID_de_la_partition_data
en fait, sur ce forum, ça veux dire qu'il s'agit de l'UUID du système de fichiers qui a été créé dans cette partition => c'est pas du PARTUUID qu'il s'agit.

Quel est le type de système de fichiers qui a été créé dans cette partition ?

Si c'est un système de fichiers de type ext2, 3, ou 4, alors pas de problème car le pilote est déjà chargé,
mais si c'est un autre type de système de fichiers (gente exFAT, FAT32, NTFS, ou autre HPFs, etc) il faudra faire en sorte que le pilote permettant d'y accéder soit chargé.

Pour ne pas être embêté pour mon test, j'avais mis le fichier image ISO à la racine du système de fichiers <=> dans le même système de fichiers dans lequel est aussi le fichier /boot/grub/grub.cfg concerné,
mais bien sûr, j'aurai pu le mettre n'importe où dans l'arborescence de ce système de fichiers.

=======

Dans son message #16, iznobe a écrit :
…
        search --set=root --file $iso_path
…

Arghhhh! la variable root était déjà définie un peu plus haut d'une autre façon,
mais là, c'est sûr que grub aura beaucoup de mal à trouver le fichier image ISO à utiliser si il doit le rechercher dans ce même fichier image ISO.

Dernière modification par MicP (Le 04/06/2026, à 15:09)

Hors ligne

#20 Le 04/06/2026, à 15:23

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

j ' ai pas tout compris pour la définition de la variable root .
faudrait remplacé :

search --set=root --file $iso_path

par :

search  --file $iso_path

?

Sinon , voilà l' UUID que j' ai indiqué :

jeu. juin 04 15:21:39 iznobe@iznobe-pc:~$ lsblk -fe7 | grep datas
├─sdb3       ext4   1.0   Data            01c9b796-0869-4ff9-a2a1-6c0f56ed5257    1,3T    52% /datas
jeu. juin 04 15:22:05 iznobe@iznobe-pc:~$

Ce qui donne :

menuentry 'ISO ubuntu Noble' {
        search --no-floppy --fs-uuid --set=root 01c9b796-0869-4ff9-a2a1-6c0f56ed5257
        set iso_path="/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
        search --file $iso_path
        loopback loop $iso_path
        echo    "Lancement de l'iso en cours, veuillez patienter.."
        linux (loop)/casper/vmlinuz locale=fr_FR bootkbd=fr console-setup/layoutcode=fr iso-scan/filename=$iso_path boot=casper noprompt quiet splash toram --
        initrd (loop)/casper/initrd
}

?

Dernière modification par iznobe (Le 04/06/2026, à 15:26)

Hors ligne

#21 Le 04/06/2026, à 15:54

Watael

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

si vous n'êtes pas débordés, pourriez-vous éditer la doc indiquée

Ne connaissant aucune version livecd officielle, voici quelques distributions dérivées de Arch Linux (pas trouvé comment les lancer directement en français)

parce que ArchLinux est une distribution live : on y prépare l'installation, puis on la finalise en chroot.
Choisissez le miroir HTTP le plus près de chez vous ici : https://archlinux.org/download/#download-mirrors

Dernière modification par Watael (Le 04/06/2026, à 20:04)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#22 Le 04/06/2026, à 16:32

MicP

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Essaye d'abord avec ça,
et si ça fonctionne, tu pourras tester ensuite en ajoutant les options pour la localisation, le clavier, etc.

menuentry 'ISO ubuntu Noble' {
        search --no-floppy --fs-uuid --set=root 01c9b796-0869-4ff9-a2a1-6c0f56ed5257
        set iso_path="/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
        loopback loop $iso_path
        echo    "Lancement de l'iso en cours, veuillez patienter.."
        linux (loop)/casper/vmlinuz iso-scan/filename=$iso_path
        initrd (loop)/casper/initrd
}

=======
J'ai cherché sans trouver un fichier ubuntu-24.04.3-desktop-amd64.iso à télécharger,
alors j'ai testé avec l'ISO xubuntu-26.04-desktop-amd64.iso

Dernière modification par MicP (Le 04/06/2026, à 17:06)

Hors ligne

#23 Le 04/06/2026, à 18:20

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

je viens de faire un nouvel essai , avec :

jeu. juin 04 18:17:21 iznobe@iznobe-pc:~$ sudo arch-chroot /mnt
root@iznobe-pc:/# cat /etc/grub.d/40_custom
#!/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.

menuentry "Windows ( nvme0n1p1 ) " {
    insmod part_gpt
    insmod fat
    search --no-floppy --fs-uuid --set=root 853D-995A # UUID de la partition EFI
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

menuentry 'ArchLinux SSD ( nvme0n1p3 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'Arch_SSD' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 224086d1-a670-4587-ad74-604b39bd7444
        configfile /boot/grub/grub.cfg
	#linux /vmlinuz-linux root=UUID=224086d1-a670-4587-ad74-604b39bd7444 rw zswap.enabled=0 rootfstype=ext4 loglevel=3 quiet
	#initrd /intel-ucode.img /initramfs-linux.img
}


menuentry 'Linux Mint 22.2 Zara  SSD ( nvme0n1p5 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'LM_22.2_SSD' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root eb18366b-2ac9-4a7e-8f93-ba2caa30e90e
        configfile /boot/grub/grub.cfg
}

menuentry 'Ubuntu 20.04 LTS ( nvme0n1p6 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'Ubuntu 20.04 SSD' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 06bc0f51-50e8-4ed4-8090-903acdb7df3f
        configfile /boot/grub/grub.cfg
}

menuentry 'Ubuntu Budgie 22.04 ( nvme0n1p7 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'U-Budgie 22.04 SSD' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 8ab22881-60b3-47aa-a0bf-54c292afae81
        configfile /boot/grub/grub.cfg
}

menuentry 'Ubuntu 24.04 ( nvme0n1p8 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'Ubuntu 24.04 SSD' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root dca54497-1ab2-4c12-bc82-53b817300288
        configfile /boot/grub/grub.cfg
}

menuentry 'Linux Mint 22.2 Zara NEW ( nvme0n1p9 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'LM_22.2_NEW_SSD' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root df3cd676-80e7-46ef-a28e-5dbe3ea5ddf7
        configfile /boot/grub/grub.cfg
}

menuentry 'Debian Trixie ( nvme0n1p10 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'debian 13' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 50149f7c-d2c3-4119-b937-328b22a577d4
        configfile /boot/grub/grub.cfg
}

menuentry 'Ubuntu 26.04 ( sda3 )' --class ubuntu --class gnu-linux --class gnu --class os --id 'Ubuntu 26.04' {
        insmod part_gpt
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 87eeac5a-1891-4e55-b4e1-9f84e7952b83
        configfile /boot/grub/grub.cfg
}

menuentry 'ISO ubuntu Noble' {
        search --no-floppy --fs-uuid --set=root 01c9b796-0869-4ff9-a2a1-6c0f56ed5257
        set iso_path="/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
        loopback loop $iso_path
        echo    "Lancement de l'iso en cours, veuillez patienter.."
        linux (loop)/casper/vmlinuz iso-scan/filename=$iso_path
        initrd (loop)/casper/initrd
}
root@iznobe-pc:/# 
update-grub
reboot

je choisi l' entrée correspondante et :
IMG-20260604-181352.jpg
https://ibb.co/VY8Qnc2L

Hors ligne

#24 Le 04/06/2026, à 18:36

iznobe

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

je viens de tester le script de @lynn ( en #13 ) , pas  d' erreur .

Voici la sortie produite ajouter au fichier 40_custom :

menuentry "ubuntu-24.04.3-desktop-amd64.iso" {
    search --no-floppy --fs-uuid --set=root 01c9b796-0869-4ff9-a2a1-6c0f56ed5257
    set isofile="/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
    probe -u $root --set=abc
    set pqr=/dev/disk/by-uuid/$abc
    loopback loop $isofile
    linux (loop)/casper/vmlinuz \
        findiso=$isofile \
        iso-scan/filename=$isofile \
        boot=casper \
        quiet \
        splash \
        ---
    initrd (loop)/casper/initrd
}

prise en compte , redémarrage , lancement du menu , et toujours la même erreur que photo précédente roll

Dernière modification par iznobe (Le 04/06/2026, à 18:37)

Hors ligne

#25 Le 04/06/2026, à 19:44

steph810

Re : [ résolu ] ubuntu .iso dans mon ordinateur et lancement via le GRUB

Bonsoir,

Repris du Post #23

je vient de test tu à la bonne base ajout d'un if pour evité le crash et du pré chargement insmod, j'ai retirer le quiet également

Retire insmod lvm si non lvm

menuentry 'ISO ubuntu Noble' {
    insmod loopback
    insmod iso9660
    insmod all_video
    insmod lvm
    search --no-floppy --fs-uuid --set=root 01c9b796-0869-4ff9-a2a1-6c0f56ed5257
    set iso_path="/iznobe/Ressources/isos/X86-64/ubuntu-24.04.3-desktop-amd64.iso"
    if [ -f "$iso_path" ]; then
        loopback loop $iso_path
        echo "Lancement de l iso en cours"
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$iso_path splash
        initrd (loop)/casper/initrd
    else
        echo "Fichier ISO introuvable"
        sleep 5
    fi
}

Dernière modification par steph810 (Le 04/06/2026, à 19:50)

En ligne