Gå til innhold

Få Grub til å starte noe annet enn default OS?


Anbefalte innlegg

Jeg har en triple-boot på den ene maskina mi. Opensolaris, Ubuntu og Windows. I grub er det satt opp slik at den som defualt booter inn i ubuntu. Men jeg vil gjerne kontrollere denne maskina uten å være i nærheten av den. Derfor lurte jeg på om det var en måte å override denne defualtinnstillingen midlertidig? Slik at jeg fra Ubunut kan velge "restart til solaris" feks. Så vil den boote i solaris. Men neste gang den booter igjen går den inn i defualt-systemet. (ubuntu).

 

AtW

Lenke til kommentar
Videoannonse
Annonse

sudo sed -i 's/default x/default y/g' /boot/grub/menu.lst

reboot

 

Lagre det i en fil og chmod +x.

Du kan jo lese deg litt opp på bash, og kjøre f.eks "dittprog solaris", så booter den opp solaris ved boot. Du må legge inn noe som sjekker hva default står som verdi fra før av og endrer den etterpå. Kan løses med moen simple if/then-setninger.

 

En annen mulighet kan være å få sed til å slette setningen og skrive en ny, men jeg er ikke akkurat en ekspert med sed, så jeg veit ikke om denne funksjonen i det hele tatt eksisterer.

 

*edit*

Denne linken kan være nyttig

http://www.unix.com/shell-programming-scri...e-file-sed.html

*edit2*

TA BACKUP AV GRUBFILA FØR DU EDITER.

Endret av nisselue
Lenke til kommentar

Kjører selv denne kommandoen dersom jeg vil reboote maskina inn til Windows

#!/bin/bash

mount /boot/
cd /boot/grub

sed -e '1s/default 0/default 1/' grub.conf > grub.conf.temp
mv grub.conf.temp grub.conf

cd /
umount /boot/

Da er linux førstevalget i menyen, og Windows andrevalget. Når jeg starter linux igjen, så setter den automatisk linux som default-start.

Hvis noen hvet hvordan jeg enkelt kan gjøre dette fra Windows også, så hadde det vært fint.

 

Edit: Kjapp forklaring til scriptet mitt.

Jeg har en egen partisjon for boot, som vanligvis ikke er mountet, derfor, fiks dette først.

Sed kommandoen ser på den første linja i grub.conf-fila (den heter menu.lst i Ubuntu) og skifter den ut med "default 1" dersom det står "default 0" der.

Endret av Maelwedd
Lenke til kommentar

Prøvde sokkalf sin lenke, men får det ikke til å funke, om jeg kjører feks "grub-reboot 3" så blir 3 standardvalget for all framtid :(

 

De to andre innleggene, jeg forstår meg ikke så mye på dette, men jeg forstår at disse endrer grub sin config-fil, vil dette gjøre som jeg vil? Altså kunne feks boote inn i windows EN gang, og neste gang jeg restarter så booter den inn i ubuntu igjen. Husk at jeg ikke har dysisk tilgang til maskinen.

 

AtW

Lenke til kommentar
De to andre innleggene, jeg forstår meg ikke så mye på dette, men jeg forstår at disse endrer grub sin config-fil, vil dette gjøre som jeg vil? Altså kunne feks boote inn i windows EN gang, og neste gang jeg restarter så booter den inn i ubuntu igjen.

Du må isåfall ha et tilsvarende script som kjører ved oppstart og gjør ønsket oppføring til standard igjen. Dette kan legges inn i Ubuntu sitt init-system slik at det gjøres automatisk.

 

EDIT: angående sokkalf sin link, husket du å sette default først? Pass også på at den starter å telle på 0

Endret av NorthWave
Lenke til kommentar

Det skriptet jeg la ut forandrer config-fila permanent ja, så du må kjøre noe lignende i Windows for å få den til å starte opp linux igjen. Jeg har ingen idè hvordan man kan gjøre det.

 

Jeg kjører Gentoo, og jeg finner ikke "grub-reboot" noen steder (det kommer ikke sammen med Grub, og jeg finner ingen pakker som har det). Kommer denne sammen med Ubuntu?

 

Det jeg fant var denne siden, som gjør nesten det samme. Der viser de hvordan du kan boote inn i et valgfritt OS èn gang, og få den til å boote et hvilket som helst OS gangen etter det.

 

Edit: Fungerer helt fint her. Jeg vil tippe at "grub-reboot" ganske enkelt kjører "grub-set-default" etterfulgt av "reboot". Grub-config-fila mi ser noe slik ut:

default saved
fallback 2

timeout 3

title=Gentoo AMD64
root (hd0,1)
kernel /boot/gentoo-2.6.27-r8 root=/dev/sda6
savedefault 0

title=WinXP
rootnoverify (hd0,0)
makeactive
chainloader +1
savedefault 0

Det er "savedefault 0" på slutten av hvert valg som gjør at den setter 0 til standardvalget igjen.

For å restarte inn i Windows nå, så kjører jeg "grub-set-default 1" og "reboot". Når jeg restarter fra Windows da, så starter den i linux igjen.

Endret av Maelwedd
Lenke til kommentar
Savedefault virker til å gjøre susen for meg, takk for hjelpa. et par spørsmål, du har "fallback 2" i din config, hva gjør den? Og i min config står det "boot" etter chainloader+1, er det ikke nødvendig å ha med denne linja?

 

AtW

Jeg tok vekk to oppstartsvalg i lista, "fallback 2" gjør at hvis Grub ikke finner det første valget, så starter den det tredje, som i mitt tilfelle er forrige kernel-versjon. Jeg tror ikke det er nødvendig å ha dette med.

 

Angående "boot", jeg har sett det et par andre steder, og jeg har faktisk den linja i det siste valget mitt (som starter MS DOS), men jeg har aldri merka noen problemer av å ikke ha den linja der.

Lenke til kommentar

*grøss* mener du windwos server 2008? :cry:

 

Men nei, er dessverre ikke ingen mulighet for det. Windows overskriver MBR uansett hva du prøver på, eneste muligheter er å legge inn grub igjen i etterkant.

 

windows overskriver ikke grub hvis den er installert et annet sted enn MBR, men er uansett MBR som bootes fra.

 

I dualboot guiden til hw.no står det forklart.

Lenke til kommentar

AtW, har du vurdert virtualisering? Ser ut for meg som det er akkurat det du har behov for, og win2008 og alle andre OS fra MS kjører såvidt jeg vet fint i KVM. Litt krøkkete å sette de virtuelle maskinene opp som egen maskin på LAN, men mer overkommelig enn det du forsøker her. Husk at en base-install koster nesten ingen diskplass, og nesten ingen ressurser. Performance hit ved å kjøre virtuelt i KVM oppå linux er neglisjerbart (knapt 2% på benker).

 

Du finner glimrende gjennomganger her:

http://wiki.debian.org/KVM

http://wiki.debian.org/QEMU

For Ubuntu spesifikt her:

https://help.ubuntu.com/community/KVM

https://wiki.ubuntu.com/kvm

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...