Pagina 1 di 1

Sostituire syslinux con Grub2

Inviato: 5 aprile 2020, 11:02
da kens
All'avvio del pc vorrei poter selezionare i sistemi operativi presenti su un secondo HDD dedicato alle anticaglie ;) nella fattispecie Windows e DOS 6.22
Prima di imbarcarmi nell'impresa volevo qualche parere/consiglio/avvertenza; smanettare col boot loader è sempre una faccenda delicata...
Mi chiedevo, ad esempio, se syslinux va prima rimosso in qualche modo oppure se basta generare e installare Grub2.
Lanciando os-prober ottengo:

Codice: Seleziona tutto

nicola@k6400 ~]$ sudo os-prober
[sudo] password di nicola: 
/dev/sda1:MS-DOS 5.x/6.x/Win3.1:MS-DOS:chain
/dev/sda2:Windows 7:Windows:chain
Ho provato anche il chainloading direttamente dal syslinux esistente:

Codice: Seleziona tutto

#
Label Windows_sda
MENU LABEL Windows_sda
com32 chain.c32
APPEND hd1 2
#
#
Label MSDOS_sda
MENU LABEL MSDOS_sda
chain.c32 
APPEND hd1 1 msdos=io.sys
ma riesco soltanto a far partire Windows; il DOS non ne vuol sapere...

P.S. il sistema è, come si può intuire, vecchiotto, quindi BIOS, no UEFI.

Re: Sostituire syslinux con Grub2

Inviato: 7 aprile 2020, 7:28
da TheSaint
Non conosco il syslinux in particolare. Mi pare che nella maggior parte dei casi ci sia la possibilità di eseguire i comandi dello script di avvio in modo iterativo.
Questo permette di vedere quali errori si presentano nel tentativo di avviare il MS-DOS. Forse hai il problema che nella partizione non c'è installato il boot loader di MS-DOS. Infatti si prevede che il chain-loader vada a prendere il boot loader scritto nell'header della partizione.
Con questo potrebbe essere che non sia scritto nel primo settore o la partizione è fuori dai limiti di avvio di MS-DOS. Cosa da investigare.

Re: Sostituire syslinux con Grub2

Inviato: 7 aprile 2020, 12:02
da kens
L'ho pensato anch'io ma, prima della "ristrutturazione" che sto facendo, sull'MBR di quell'HDD era installato GRUB legacy (ora non più utilizzabile perché ho ridefinito alcune partizioni (senza toccare o spostare né DOS né Win, ovviamente) e i due S.O. Microsoft partivano regolarmente (Win parte anche ora con Syslinux). Quindi, a rigor di logica, MSDOS dovrebbe avere ancora il suo Boot Loader...
Il fatto è che su Syslinux si trova poca documentazione per fare il chainloading DOS :(
Per il momento uso Dosbox ma vorrei comunque venirne a capo ;)

n.

Re: Sostituire syslinux con Grub2

Inviato: 7 aprile 2020, 16:52
da Dusty
kens ha scritto:
5 aprile 2020, 11:02
Ho provato anche il chainloading direttamente dal syslinux esistente:

Codice: Seleziona tutto

Label MSDOS_sda
MENU LABEL MSDOS_sda
chain.c32 
APPEND hd1 1 msdos=io.sys
ma riesco soltanto a far partire Windows; il DOS non ne vuol sapere...
La sintassi giusta sarebbe

Codice: Seleziona tutto

COM32 chain.c32
sarà mica quello, il problema?

Re: Sostituire syslinux con Grub2

Inviato: 7 aprile 2020, 19:29
da kens
Ho provato anche la sintassi da te suggerita. Funziona per Windows ma non per DOS :(

Re: Sostituire syslinux con Grub2

Inviato: 8 aprile 2020, 5:40
da TheSaint
Ci potrebbe da fare un esperimento di attivare il boot loader di windows per cercare la partizione MS-DOS. Ma del resto è come quando usi il tuo boot loader.
Per prova dovresti fare una installazione di Arch su pendrive e metterci il grub. Con quello ti trovi alle stesse condizioni di quando lo installi direttamente nel computer. Anche possibile provare dal suo terminale i vari comandi per capire che errori potrebbero presentarsi.

Re: Sostituire syslinux con Grub2

Inviato: 8 aprile 2020, 11:01
da Dusty
Io però distinguerei i due temi.
Una cosa è sostituire syslinux con grub, altra cosa è avviare il DOS.
Non è detto che le due siano correlate.
Hai provato ad avviare selezionando direttamente da BIOS il disco?
Poi ricordo che per avviare in DOS o Windows era necessario tirar su il bit di partizione attiva; non so se syslinux e grub lo gestiscono; sarebbe utile un giro di parted per verificare.

Re: Sostituire syslinux con Grub2

Inviato: 8 aprile 2020, 17:37
da kens
Beh... anch'io distinguerei :) ma se non riesco a trovare la sintassi (ammesso che ci sia) per istruire Syslinux (che comunque mi sembra un po' meno raffinato di GRUB) ci sarà poco altro da fare.
Sì, ho provato anche a selezionare il disco da BIOS ma sapevo già che non avrebbe funzionato. Su quell'HDD ho ristrutturato un paio di partizioni appartenenti ad una vecchia Slackware (a valle di Windows e DOS che non sono state toccate) e, ovviamente, al vecchio GRUB installato nel suo MBR non tornano più i conti.
La cosa strana è che, tramite il Syslinux del disco sul quale c'è Arch (/dev/sdb), Windows parte tranquillamente mentre DOS 6.22 (che tra l'altro è sulla prima partizione) no; è per questo che penso ad un problema di sintassi in syslinux.cfg. Provo a trascriverlo per com'è adesso:

Codice: Seleziona tutto

label arch
TEXT HELP
Boot Arch Linux
ENDTEXT
MENU LABEL Arch Linux
LINUX /vmlinuz-linux
append initrd=/initramfs-linux.img root=UUID=a5877392-601b-4615-94db-f2d77ee5d16c rootflags=,relatime,user_xattr,barrier=1,data=ordered rootfstype=ext4  ro
#
label arch_LTS
TEXT HELP
Boot Arch Linux LTS
ENDTEXT
MENU LABEL Arch Linux LTS
LINUX /vmlinuz-linux-lts
append initrd=/initramfs-linux-lts.img root=UUID=a5877392-601b-4615-94db-f2d77ee5d16c rootflags=,relatime,user_xattr,barrier=1,data=ordered rootfstype=ext4  ro
#
label fallback
TEXT HELP
Boot Arch Linux Fallback
ENDTEXT
MENU LABEL Arch Linux Fallback
LINUX /vmlinuz-linux
append initrd=/initramfs-linux-fallback.img root=UUID=a5877392-601b-4615-94db-f2d77ee5d16c rootflags=,relatime,user_xattr,barrier=1,data=ordered rootfstype=ext4 
#
#
Label Windows_sda
MENU LABEL Windows_sda
com32 chain.c32
APPEND hd1 2
#
#
Label MSDOS_sda
MENU LABEL MSDOS_sda
chain.c32 
APPEND hd1 1
#

Re: Sostituire syslinux con Grub2

Inviato: 8 aprile 2020, 17:56
da Dusty
kens ha scritto:
8 aprile 2020, 17:37
La cosa strana è che, tramite il Syslinux del disco sul quale c'è Arch (/dev/sdb), Windows parte tranquillamente mentre DOS 6.22 (che tra l'altro è sulla prima partizione) no; è per questo che penso ad un problema di sintassi in syslinux.cfg.
Dusty ha scritto:
8 aprile 2020, 11:01
Poi ricordo che per avviare in DOS o Windows era necessario tirar su il bit di partizione attiva; non so se syslinux e grub lo gestiscono; sarebbe utile un giro di parted per verificare.
Cioè,
parted -l
Provo a trascriverlo per com'è adesso:

Codice: Seleziona tutto

...
Label MSDOS_sda
MENU LABEL MSDOS_sda
chain.c32 
APPEND hd1 1
#
Hai scritto appena sopra che hai corretto la sintassi.
Lo hai fatto o no?

Re: Sostituire syslinux con Grub2

Inviato: 8 aprile 2020, 20:35
da kens
Hai scritto appena sopra che hai corretto la sintassi.
Lo hai fatto o no?
Certo che l'ho fatto :wink: ripeto: è stata la prima sintassi provata giorni fa. Verificato di nuovo; non funge.
Gparted conferma che la partizione ha il bit di boot attivo ("1")

Re: Sostituire syslinux con Grub2

Inviato: 9 aprile 2020, 1:43
da VenereNera

Re: Sostituire syslinux con Grub2

Inviato: 9 aprile 2020, 14:58
da TheSaint
Seguendo quello che propone il GRUB, potrebbe farcela anche syslinux.

Re: Sostituire syslinux con Grub2

Inviato: 9 aprile 2020, 18:13
da Dusty
Ma in questo caso il disco su cui si trovano DOS e Windows è il primo.
Ed il DOS sta pure sulla prima partizione.
Ma la macchina è 32 o 64 bit?

Re: Sostituire syslinux con Grub2

Inviato: 9 aprile 2020, 20:47
da kens
è un Athlon64 6000+ dual core su mobo Abit KN9. In effetti trovo anch'io interessante quello che dice quel testo, anche se si parla di GRUB.

Re: Sostituire syslinux con Grub2

Inviato: 9 aprile 2020, 23:26
da Dusty
Nel tuo primo messaggio hai scritto che il DOS sta nel secondo disco.
Il problema potrebbe essere questo.
I primi sistemi di Microsoft funzionavano solo se installati sul primo disco.

Re: Sostituire syslinux con Grub2

Inviato: 10 aprile 2020, 10:00
da TheSaint
Come asserisce Dusty, forse il BIOS offre lo scambio dell'ordine dischi.