Hur man startar en ISO-bild från GRUB2

Linux har en mycket viktig fördel jämfört med Windows i en grundläggande aspekt: Du kan testa det och se om det fungerar korrekt på din dator genom att starta direkt från din installations-CD., kallad Live CD. Nästan alla distros idag har denna möjlighet.

Sin embargo, det finns andra möjligheter, som undviker behovet av att bränna en CD varje gång användaren vill skapa en Live CD. Det vanligaste är vanligtvis kopiera Linux till USB med ett speciellt program och starta sedan upp datorn från USB. Men om du redan har GRUB2 installerad på din dator, det finns en annan möjlighet som är lite publicerad men mycket snabbare, effektivare och säkrare.


Brände du tusentals CD-skivor för att bränna dina favoritdistrobilder? Trodde du att genom att ladda Linux från USB var du på vågens topp? ha! Den här metoden sparar tid och pengar, förutom att den är extremt snabb är den mycket säkrare (på grund av bristen på möjliga "skrivfel" och andra problem relaterade till läsning av Live CD) och undviker behovet av att bränna filerna. ISO-bilder till CD eller USB.

steg

1.- Redigera filen /etc/grub.d/40_custom

sudo gedit /etc/grub.d/40_custom
Obs! TonyDiaz rekommenderar oss att med stor diskretion ändra den här filen och inte /boot/grub/grub.cfg. Anledningen är att systemet ersätts grub.cfg varje gång du gör en modifiering i GRUB, vilket händer mycket ofta. Av denna anledning är det nödvändigt att modifiera mallen som är utformad uteslutande för att lägga till anpassade menyposter i GRUB: 40_anpassad.

2.- Lägg till en ny post i menyn som liknar den som visas nedan:

menuentry "Lubuntu Live"{ 
sätt rot = (hd0,5)
loopback loop /vbox/lubuntu-10.10.iso
linux (loop) / casper / vmlinuz boot = casper iso-scan / filnamn =/vbox/lubuntu-10.10.iso --
initrd (loop) /casper/initrd.lz
}

3.- Glöm inte att redigera de delar som visas i rött, där:

  • menypost: är namnet som kommer att visas i GRUB2-listan när datorn startar. I mitt fall, som jag 
  • sätt rot: anger i vilken partition ISO-filen är. För att ta reda på vad den korrekta konfigurationen är är resonemanget enkelt. 
  • Var är ISO-bilden av min favoritdistro? På min disk Y, partition X. Du vet förmodligen vilken sökväg den hårddisken är monterad på, men inte dess enhetsnamn. För det…
  • Jag öppnade System> Administration> Diskverktyg och efter att ha valt hårddisken där partitionen i fråga finns, klicka på partitionen för att visa alla dess data och egenskaper.
  • Med den valda partitionen leta efter etiketten "Enhet" och se vilka data den visar. I mitt fall står det: / Dev / sda5. Att vara hda eller sda det betyder att det är skiva 1; om det vore sdb Åh Db, det skulle vara skiva 2. Eftersom det handlar om SDA5betyder det att det är partition 5 på disk 1. För den delen, "set root" borde ha (hd0, 5). Grub2 startar diskantalet med 0, varför den här inställningen säger att ISO-avbilden finns på disk 1, partition 5. 
  • loopback: anger sökvägen inom den partition där ISO-filen är. Det är lätt att bli förvirrad vid den här tiden eftersom det som frågas inte är rutten där den här skivan är monterad utan resten av rutten. Till exempel min disk sda5 rider på / media / backup /. Därför skulle hela sökvägen för den mapp där den aktuella ISO-avbilden finns vara / media / backup / vbox /. Men som i "set root" har vi redan sagt vilken disk och partition det är, det är inte nödvändigt att klargöra sökvägen där disken var monterad (/ media / backup /). Av den anledningen skulle vägen att gå in vid denna punkt helt enkelt vara /vbox/file.iso.
  • linux (loop): berättar vilken kärna vi ska starta och var den är. Resonemanget är detsamma som i föregående punkt. För att systemet ska kunna starta med menyerna och fönstren på spanska, liksom tangentbordslayouten, är det nödvändigt att lägga till parametrarna locale och bootkbd. Dessutom, så att det istället för kärnmeddelanden visar laddningsbilden (splash) är det nödvändigt att lägga till splashparametern. Slutligen, för att gruppera lika ingångar, måste du lägga till den tysta parametern. Så den här mer "personliga" versionen skulle se ut så här:
    linux (loop) / casper / vmlinuz boot = casper locale = es_ES bootkbd = es console-setup / layoutcode = es tyst stänk iso-scan / filnamn = / vbox / lubuntu-10.10.iso -
  • initrd(loop): berättar var initrd är. 
  • 4.- Efter att ha sparat filen i fråga återstår bara att uppdatera GRUB2:

    sudo update-grub

    Jag testade just den här metoden med Lubuntu 10.10 och det tog inte 20 sekunder att ladda helt! Jag försäkrar dig det det här är det bästa sättet att testa Ubuntu Beta-versioner eller andra distributioner utan att ändra ditt system, installera Virtual Box, behöva bränna en CD eller spendera en USB bara för att använda den som en Live CD, etc.

    Tack Miguel Mayor i Tur för att du föreslog ämnet!

    Lämna din kommentar

    Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

    *

    *

    1. Ansvarig för uppgifterna: Miguel Ángel Gatón
    2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
    3. Legitimering: Ditt samtycke
    4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
    5. Datalagring: databas värd för Occentus Networks (EU)
    6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

    1.   Miquel Mayol i Tur sade

      FILEN HITTADES INTE

      Du måste ladda kärnan först

      Jag har ubuntu 10.10 amd64 installerat på ext4, som tydligen ändrar syntaxen, vilket jag inte vet, och det ger mig fel.

      Jag kopierade den ursprungliga kärnan till 40_custom-filen, för den genom att kopiera kommandon, genom försök och fel, men alla ger mig samma fel.

      Genom att göra ett ls i grub heter partitionerna - det måste vara ext4 - så och jag vet inte varför de är i enstaka citat.

      Så snälla: 1, - Förklara att det fungerar för ext2-partitioner

      2.- Gör en förlängning för att starta i ext4-partitioner, för jag är inte klar, och det kommer säkert att vara en chorradita, men som den tidigare saken visste jag att det kunde vara, men jag hittade inte var de skulle förklara det för mig, i den ännu värre ext4-varianten.

      tack på förhand

      Min 40_custom, där endast Ubuntu fungerar

      #! / Bin / sh

      exec svans -n +3 $ 0

      # Den här filen är ett enkelt sätt att lägga till anpassade menyposter. Skriv bara

      # menyposter du vill lägga till efter den här kommentaren. Var försiktig så att du inte byter

      # "exec tail" -linjen ovan.

      menuentry "Ubuntu, med Linux 2.6.35-23-generisk" –klass ubuntu –klass gnu-linux –klass gnu –klass os {

      rekordfel

      insmod part_msdos

      insmod ext2

      ange root = '(hd0, msdos1)'

      sök –no-diskett –fs-uuid –set c617a74c-d199-49fc-997e-77ebbe33a8bb

      linux /boot/vmlinuz-2.6.35-23-generic root = UUID = c617a74c-d199-49fc-997e-77ebbe33a8bb ro tyst stänk nomodeset # video = uvesafb: mode_option = >> 1024 × 768-24 <<, mtrr = 3 , bläddra = ywrap initrd /boot/initrd.img-2.6.35-23-generic} menuentry "Rescatux" {recordfail insmod part_msdos insmod ext2 set root = '(hd0, msdos1)' loopback loop /isos/rescatux.iso linux ( loop) / casper / vmlinuz boot = casper locale = en_ES bootkbd = en console-setup / layoutcode = en tyst stänk iso-scan / filnamn = / isos / rescatux.iso - initrd (loop) /casper/initrd.lz} menuentry « rescatux2 »{set root = '(hd0, msdos1)' loopback loop /isos/rescatux.iso linux (loop) / casper / vmlinuz boot = casper iso-scan / filnamn = / isos / rescatux.iso - initrd (loop) / casper / initrd.lz}

    2.   Miquel Mayol i Tur sade

      Manolo, eftersom det inte fungerade för mig, bytte jag till Burg och inte heller skulle du vara så snäll att klistra in det du har för Burg - vilket förresten tackar dig för att du upptäckte mig, hur trevligt -.

      Jag tror att mitt problem härrör från det faktum att jag använder ext4, om det också är ditt fall skulle jag kunna använda pärlor.

      för övrigt kan vi skicka en post om hur man installerar burg, som kommer att bestå med uppdateringar och hur man lägger till ISO-bilder.

    3.   Manolo Pajaro sade

      Det fungerar inte för mig, jag försökte med en kod som hittades på en annan sida och sedan med en kopia av den du satte och jag får inte något av de två alternativen i GRUB. Jag har gått igenom resten av grub.cfg och jag märkte att parametern för set root går i enstaka citat, lade du den så här i din fil och det fungerade? Det kom inte ut på något sätt för mig: /

    4.   Låt oss använda Linux sade

      Manolo, det här handlar inte om kopiering, som i andra fall. Observera att artikeln förklarar i detalj vilka saker du måste ändra så att allt fungerar i just ditt fall.
      Låt mig veta om du har problem med att följa instruktionerna ...
      En stor kram! Paul.

    5.   broderlig sade

      Det ser intressant ut, jag ska prova det ...

    6.   Rafael sade

      Eller vilken intressant artikel, det här är till nytta ... Jag använder vanligtvis en USB med den stora Multiboot, främst för att det gör att jag kan ha en USB i fat32 med mina "live" -system redo att starta på datorer där systemet inte längre startar (vinn) och behåller möjligheten att spara filer på usb ... men eftersom det är ett fat32-system har det den stora nackdelen att det inte accepterar filer som är större än 4 GB och det är därför jag GILLAR det här !!!
      hälsningar

    7.   Miquel Mayol i Tur sade

      Du är välkommen, glad att du har förklarat det så bra, nu saknar samma sak att göra en multiboot från en USB, installera grub2 på den, med återställningsdistros och andra.

      Ett nöje att fortsätta läsa.

    8.   tonydiaz sade

      Mycket bra! Men om du tillåter mig kommer jag att försöka förbättra det lite.

      Filen /boot/grub/grub.cfg genereras av ett verktyg som heter grub-mkconfig med hjälp av mallar som är i sökvägen /etc/grub.d/, därför varje gång en ny grub-fil genereras (för Till exempel, när en ny kärna kommer in, eller en uppdatering av densamma, eller när kommandot update-grub körs manuellt) ersätter systemet den tidigare filen med den nya och tar bort alla poster som vi har infogat manuellt. Med andra ord måste posterna införas i filen varje gång det skett en förändring i grub, vilket händer mycket ofta.

      Därför är mitt förslag att filen /boot/grub/grub.cfg INTE ska redigeras, utan mallen som motsvarar det system som du vill starta från. I det här fallet, eftersom det är en "anpassad" post, ska den gå i /etc/grub.d/40_custom-filen, som är den som är beredd att lägga till anpassade poster.

      På detta sätt kommer vår anpassade post alltid att läggas till automatiskt varje gång systemet genererar en ny grub.cfg.

      Så här har jag det för att starta från en SystemRescueCD iso-bild, och det fungerar som en charm 😉

      Hälsningar till alla.

    9.   Låt oss använda Linux sade

      Du har all anledning! Tack för att du påminde mig. Just nu lägger jag till den modifieringen.

    10.   tonydiaz sade

      Det är jag igen 😉

      Jag glömde att berätta för dig i mitt tidigare meddelande att om /etc/grub.d/40_custom-filen eller någon annan mall ändras är det nödvändigt att uppdatera gruben med kommandot update-grub.

      Hälsningar och fortsätt !! 🙂

    11.   Låt oss använda Linux sade

      Redo! Tack igen! 🙂

    12.   Gäst sade

      Så bra! Detta är mycket användbart! Tack så mycket 😀

    13.   cex sade

      Om vi ​​vill ha en Ubuntu-bild (för andra distributioner ser jag inte till att den fungerar):
      · Börja med menyerna och fönstren på spanska samt tangentbordslayouten
      Att under start, istället för kärnmeddelanden, visar laddningsbilden (splash)
      den fjärde raden skulle vara:

      linux (loop) / casper / vmlinuz boot = casper locale = es_ES bootkbd = es console-setup / layoutcode = es tyst stänk iso-scan / filnamn = / vbox / lubuntu-10.10.iso -

      Den tysta används för att gruppera lika ingångar.

      Förresten, det skulle vara trevligt om du gjorde det tydligare att sudo update-grub måste göras när den angivna filen har ändrats och sparats.

    14.   Manolo Pajaro sade

      Ja ja jag vet att jag inte borde kopiera det verbatim haha ​​jag gjorde det inte så, ja jag ändrade enligt mitt team och jag hittade redan vad problemet var, att jag inte använder grub utan burg xD

    15.   broderlig sade

      Hej!

      Jag har konfigurerat den för att starta en Ubuntu 10.10 Live och det fungerar perfekt (jag kommer att lägga en länk på min blogg till den här artikeln), här är min konfiguration:

      menuentry "Ubuntu 10.10 Live" {
      set root = (hd0,1)
      loopback loop /home/fraterneo/ubuntu-10.10-desktop-i386.iso
      linux (loop) / casper / vmlinuz boot = casper tyst stänk iso-scan / filnamn = / home / fraternal / ubuntu-10.10-desktop-i386.iso -
      initrd (loop) /casper/initrd.lz
      }

      Jag har dock försökt göra det med en Fedora 13 Live-cd som jag har lagt till den här konfigurationen:

      menyalternativ «Fedora 13 Live» {
      set root = (hd0,1)
      loopback loop /home/fraterneo/Fedora-13-i686-Live.iso
      linux (loop) / EFI / boot / vmlinuz0 root = live: LABEL = Fedora-13-i686-Live rootfstype = auto ro liveimg tyst rhgb
      initrd (loop) /EFI/boot/initrd0.img
      }

      Vilket i startprocessen (splash image) ger mig följande fel:
      Ingen rotenhet hittades
      Boot har misslyckats, sova för alltid

      Jag har inte hittat den möjliga lösningen än. Låt oss se om någon av er uppmuntras och undersöks vidare.

      En hälsning!.

    16.   Cousteau sade

      Bättre att använda gksudo gedit, inte sudo gedit.

    17.   panchové sade

      Magnifik bror, möjligheterna som GRUB ger är otroliga, nu har jag hur man demonstrerar flera Live utan att använda CD hehehe! Excellent!

    18.   Självhantering sade

      Är det möjligt att göra det med grub4dos?

    19.   Låt oss använda Linux sade

      Sanningen är att jag inte vet det. 🙁
      Låt oss veta om du upptäcker något ...
      Skål! Paul.

    20.   Marcelo sade

      Kontrollerade. Dessa parametrar fungerar bara för Ubuntu. Mappen / casper och filerna vmlinuz och initrd.lz finns bara i * buntu-distributionerna. I Fedora är det helt annorlunda, så sådana parametrar fungerar inte. Jag undersöker ämnet.

    21.   Låt oss använda Linux sade

      Hej miguel! Sanningen är att jag inte ser mycket skillnad med det kommando som rekommenderas i inlägget. Hur som helst, såvitt jag förstår spelar det ingen roll vilket format (EXT2 eller EXT4 eller något annat) din boot är i. Faktum är att jag har det i ext4 och koden i inlägget fungerade perfekt för mig.
      Vad jag rekommenderar är följande:

      1) för att se till att isofilvägen finns. Det vill säga, när det gäller koden som ingår i inlägget, finns det /vbox/lubuntu-10.10.iso. För det öppnade jag helt enkelt Nautilus, navigerade till mappen i fråga och se om ISO-filen finns.

      2) den andra punkten som kan skapa problem är root. Kontrollera att roten är korrekt. Inlägget förklarar hur man vet vilket värde man ska tilldela variabeln. Annars är det du har kvar att göra försök och fel.

      I vilket fall som helst är den här koden som ingår i inlägget inte enkel att kopiera och klistra in. Du måste ändra uppgifterna som är markerade med rött och anpassa dem efter ditt fall.

      En kram! Paul.
      2)

    22.   älskar det sade

      Jag visste hur det gjordes i GRUB 1 men inte i 2 😀
      Jag har länkat dig i kommentaren till en handledning som jag gjorde för att skapa en Multiboot Pendrive http://www.youtube.com/watch?v=FbpYNSuaNTI&hd=1
      hälsningar

    23.   Låt oss använda Linux sade

      Hoppsan! Mycket bra handledare !!
      Jag skulle precis skriva ett inlägg om ämnet (multiboot pendrive). När jag gör det kommer jag säkert att ta med din video. Om du inte har något emot det, förstås ... och alltid klargör källan och ditt författarskap.
      Tack för tiden och för att dela din kunskap med samhället.
      En stor kram! Paul.

    24.   Inukaze sade

      Jag har en fråga, något speciell, om jag till exempel bara har Windows XP installerat och ingen distro, men jag har redan partitionerna förberedda, hur eller vad ska du göra för att bara installera tillräckligt och nödvändigt, så att jag startar GRUB2, för att göra det starta ISO som jag har i en annan hårddisk ???

    25.   Inukaze sade

      Tja, låt oss se, tanken är att i partitionen där jag ska installera den nya distro har den bara ingången till / boot / grub och kanske en Kernel 2.6, och dess konfigurationer, så att det senare under installationen är uppdaterad.

      Huvudidén är att spara mycket tid, jag ser inte poängen att installera en distro, att ändra grub, att installera en annan, om jag bara kan starta iso direkt genom att installera grub, utan att behöva CD eller USB.

      Tja, hur som helst, om jag har en distro installerad är det Slackware64, men hur som helst, jag ska ladda ner den uppdaterade ISO för Chakra Linux för att se om den här gången jag kan få xD installerat

    26.   Miquel Mayol i Tur sade

      http://ubuntuforums.org/showthread.php?t=1632692
      Jag har fått en alternativ lösning som ser bra ut här.
      MEN DET FUNGERAR INTE, antagligen på grund av att ha stöveln i EXT4

      menuentry "Ubuntu 10.10 Maverick ISO 64bit" {
      set isofile = »/ boot / ISO / maverick-desktop-amd64.iso»

      loopback loop (hd0,5) $ isofile
      linux (loop) / casper / vmlinuz boot = casper iso-scan / filnamn = $ isofile nomodeset
      initrd (loop) /casper/initrd.lz
      }

    27.   Francisco Javier Martin Lopez sade

      För tidigare, hur skulle ingången vara?

    28.   Paul sade

      Jag har problem med en anteckningsbok där Grub-start (grub2) blockerades, jag hade Huayra (Debian-version av Linux) och Windows 8, de ändrade grub.cfg och boot var blockerat.
      Det skulle inte vara ett problem, förutom att när jag vill starta från en LiveUSB startar den bärbara datorn om och tar inte start från USB och inställningen kan inte ändras.
      Jag skulle vilja veta hur jag kan kopiera en ISO från en pendrive till hårddisken och köra den därifrån (ISO för LiveUSB).

      tack

      1.    låt oss använda Linux sade

        Hej, Pablo!

        Vi rekommenderar att du ställer den här frågan i vår frågestund Fråga DesdeLinux så att hela samhället kan hjälpa dig med ditt problem.

        En kram, Pablo.

    29.   Mariano sade

      Hur kan jag göra det med ubuntu 15.04 mate amd64. Att sätta kärnan kanske lösningen?
      Jag har två skivor, i den första Ubuntu 10.04 med ext4-system. I den andra har jag en ext4-partition och en annan med ntfs. I den andra, på ext4-partitionen kopierade jag iso och extraherade den på plats. Jag följde alla steg i handboken, med respektive ändringar enligt min diskplats.
      Efter omstart och grub-posten dök upp, i mitt fall "Ubuntu mate 15.04", gick jag inte in i installationen men det kom ut att det inte fanns någon kärna att välja. Vad kunde jag ha gjort fel? Jag skulle uppskatta ett svar.

    30.   Laurentius sade

      Det fungerar inte för mig på Linux Mint.
      Jag testade det med ubuntu 14.04.02 och med bodhi Linux.
      På en ntfs-partition och på en ext4
      En ny rad skapas i grubben men när du väljer den börjar ingenting, skärmen är svart.
      Hälsningar.

    31.   Rein sade

      God morgon, vänner på detta medium, jag har problem med menubutiken på min grub2, det går så här.

      1-slackware x64 efi
      2-Jag har Windows 7 installerat

      * Jag bytte precis tangentbord och blev förvånad över att slaken inte visade mig, letade efter information jag observerade att det var ett menyproblem, jag tog en iso av samma slack, gick in och gav det tredje alternativet där det står att det känner inte igen boot /, och för att vara ärlig vet jag inte vad jag ska göra efter det, om någon kan förklara mig hur jag får tillbaka min slack, skulle jag uppskatta det .. eller skicka mig en webbadress där de förklarar stegen

      Tack på förhand kära vänner till den här underbara bloggen

    32.   Georginus sade

      Bra vänner Jag har en fråga, kanske är det dumt för vissa ... Jag har skapat ett installationsprogram för Ubuntu LTS, den senaste tillgängliga för att ladda ner 16.04 desktopversionen. Jag vill installera den som ett enda system på en Asus Prime Z2027-A med en Celeron-processor och en Ram 4 Gb med en 256 Gb SDA ... vad som är nödvändigt för vad som ska användas, Ethereum mining.

      Problemet är att jag satte USB redan med ISO isatt med UNEBOOTIN .... Jag slår på datorn för att starta från USB och direkt innan jag går in i installationsläget med ett grafiskt gränssnitt startar GRUB-startsystemet, som datorn och alla dess komponenter är boxade, de har absolut ingenting så jag antar att det är en fråga om Ubuntu med Grub ... upptäcker alla enheter jag gjorde en LS för att se att det fanns ...

      Problemet är grundläggande Jag vill installera UBUNTU men jag kommer bara till Grub>
      bokstavlig

      Tack på förhand.