Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 19 jun 2019, 05:03



Svara på tråd  [ 36 inlägg ]  Gå till sida 1, 2  Nästa
 Problem att boota vid nyinstallation med raid-volym 
Författare Meddelande

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Problem att boota vid nyinstallation med raid-volym
Hej!

Jag har precis nyinstallerat Ubuntu 18.04 på en desktop, där jag har en raid-array vid sidan av min huvud-hårddisk. Dvs systemet plus home ligger på en HD, och så har jag en Raid5-array med 3 hårddiskar bredvid. Jag installerade systemet utan att raid-arrayen var inkopplad.

Sen har jag kopplat in dem, och använt Webmin för att sätta upp dem som en raid5-array, och synka dem. Och satt upp en monteringspunkt och automount vid boot.

Men: det funkar inte att boota då - jag hamnar i det där "Emergency"läget. Går jag in i /etc/fstab och kommenterar ut raid-arrayn, så funkar det igen. Så nåt är fel med det.

Hur ska jag göra för att kunna ha en raid5-array som monteras automatiskt vid boot?

Magnus


26 mar 2019, 22:13
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Verkar nästan som om den försöker boota från raid-arrayen istället, när den finns tillgänglig. Prova med att starta upp datorn, gå ut i en shell och kör:
Kod:
grub-install /dev/sda

Nu gissar jag här att din hårddisk heter "sda", men det får du rätta till om den heter något annat. Märk väl att du måste ange hela disken och inte någon partition.

Jag vet inte om det hjälper, men det kan ju vara något att börja med för att se om det hjälper...

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


27 mar 2019, 15:03
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!

Tack för svar! Nu är jag på resa och har inte tillgång till desktopen, men jag tror inte att den försöker boota från fel device - den startar grub och visar splashscreen en bra stund, och först senare går den i "emergency mode". Verkar också lite spooky om den har grub på raid-arrayen eftersom den inte var tillgänglig vid installation, utan jag lade till den senare.

Eller tänker jag fel?

En tanke jag hade var om det ska vara några speciella parametrar i fstab för att kunna starta en raid-array, om det var där det strulade. Har haft raid-array tidigare i min desktop, men nog bara Raid1 då, det här är Raid5, om det nu gör skillnad.

Jag ska testa ditt förslag i alla fall när jag kommer hem (fredag).

Magnus


27 mar 2019, 15:34
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Raid1 och Raid5 är visserligen helt olika, men det borde inte spela någon roll i det här fallet. Största skillnaden är att Raid1 enbart innebär att en annan disk speglas till raid-arrayen, så att om den disken skulle krascha, så har man en komplett kopia som säkerhet. Raid5 däremot innebär även striping och sådant, så att data delas upp mellan diskarna av prestandaskäl och att (raid) diskarna gemensamt uppträder såsom om de vore en enda disk. Men som sagt, detta borde inte ha någon betydelse här.

Att raid-arrayen inte fanns tillgänglig vid installationen gör inte att det vore så jättemärkligt om grub skulle finnas på den. Visst borde det inte finnas där, men det enda som krävs för att grub ska finnas där är ju ett felektigt kommando, ett script eller något sådant som felaktigt kört kommandot grub-install. Detta är dock isåfall egentligen inget problem, eftersom det enda som krävs för att rätta till det, är att du kör en grub-install för rätt disk.

En sak som också kan ha betydelse är om det är en hårdvaru- eller mjukvaru-raid..?

För att komma vidare skulle du kunna lägga till "nofail" i fältet för "options" i /etc/fstab för raid-arrayen. Detta innebär att den fortsätter booten, även om det skulle uppstå något problem med monteringen av raid-arrayen. Att du hamnar i "emergency-läget" skulle kunna bero på att den misslyckas med monteringen av någon anledning...

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


27 mar 2019, 17:03
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!

Kanon, tack! Things to do on Friday :)

Jag är alltså bra på att använda Raid, men inte mer, egentligen. Så det är mycket jag inte fattar. Det måste i alla fall vara mjukvaru-raid - jag har satt upp den med webmin/mdadm i ubuntu, och inte justerat nåt i Bios. Det är tre helt vanliga hårddiskar, inga andra prylar inblandade. Sprillans ny dator, MSI-moderkort så kanske borde jag ställa om nåt i Bios med?

Magnus


27 mar 2019, 17:39
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Eftersom du använt mdadm så är det alltså en mjukvaru-raid. Detta innebär alltså att all raid-funktionalitet hanteras av operativsystemet, diskarna är alltså så sett inte "medvetna" om att de ingår i en raid.

Det borde inte vara något som du behöver ställa om i BIOS, eftersom BIOS bara kan se diskarna enskilt och inte har någon aning om att de ingår i en raid heller.

En orsak till problemen kan alltså vara det att du inte har med nofail i /etc/fstab, för det betyder att om raiden inte har synkat ihop ordentligt, så åker systemet kanske på en timeout när den försöker montera den.

Hur ser det t.ex ut om du bootar upp utan att ha raiden igång och sedan kopplar in den och tittar på den med:
Kod:
cat /proc/mdstat
?

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


27 mar 2019, 21:39
Profil WWW
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Om du vill kolla om grub finns på raiden, så finns det två olika sätt att göra det på.

1) med "file"
Kod:
file -s /dev/sdb

2) eller med dd:
Kod:
dd bs=512 count=1 if=/dev/sdb 2>/dev/null | strings | grep -i grub

Här har jag angivit namnet sdb i båda fallen, men det får du justera utifrån vad din raid heter.

Nu går kommandot så som jag skrivit det direkt mot hårdvarudisken och inte mot raiden, så om du vill så kan du ju ange t.ex "/dev/md1" eller vad din raid nu heter. Det varierar lite mellan olika system.

Du kan också kollla de olika partitionerna med båda de kommandona och ingen partition ska ha någon grub installerad, endast en disk ska ha det.

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


27 mar 2019, 22:29
Profil WWW
Serveradmin
Användarvisningsbild

Blev medlem: 22 okt 2006, 09:13
Inlägg: 3744
Ort: Svedala
OS: Ubuntu
Utgåva: 19.04 Disco Dingo
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Om du kör kommandot:
Kod:
lsblk

Så kommer du kunna se vilken ordning OS:et uppfattar att diskarna sitter i och därmed vilken disk grub bör ligga på.


28 mar 2019, 08:39
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!

Kanon, fler saker att kolla!!

Kanske lite dum fråga: hur bootar jag upp utan att raiden är igång, och sen drar igång den? Menar du att starta utan SATA-kablar i diskarna och sen hot-plugg i dem...?

Har aldrig gjort det. Rör inte hårdvaran medan maskinen är igång av rädsla att förstöra nåt (spikar och sånt).

Magnus


28 mar 2019, 09:55
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
johanre skrev:
Om du kör kommandot:
Kod:
lsblk

Så kommer du kunna se vilken ordning OS:et uppfattar att diskarna sitter i och därmed vilken disk grub bör ligga på.

Listar inte "lsblk" bara dem i bokstavsordning? Visst brukar "sda" alltid vara samma disk och ofta även "sdb", om man har dem anslutna via SATA alltså. Men om man har diskar anslutna via USB, så tycker jag att de kan hamna lite hur som helst, beroende på vad som varit anslutet vid booten (därför som det är mycket bättre att ange UUID i fstab).

Det hela bygger väl helt enkelt på hur snabbt diskarna svarar, den som svarar först blir "sda", nästa blir "sdb" och den därefter "sdc" etc...?

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


28 mar 2019, 14:19
Profil WWW
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
MagnusL skrev:
Kanske lite dum fråga: hur bootar jag upp utan att raiden är igång, och sen drar igång den? Menar du att starta utan SATA-kablar i diskarna och sen hot-plugg i dem...?
Att starta utan SATA-kablarna inkopplade och sedan göra en hot-plugin, skulle jag nog avråda från. Visserligen borde det nog kanske, ungefär, för det mesta, oftast, nästan alltid sådär funka... men låter inte så bra ändå.....

Men skulle du göra det så hade du fått se just det med att diskarna får en sd[a-z] beteckning, helt i följd med när de pluggas in...

Men lägger du till "nofail" i fstab, så måste diskarna inte vara färdiga och monterbara när den bootar, för den fortsätter ändå. Ett annat alternativ är ju att också lägga till "noauto", för då försöker systemet överhuvudtaget inte montera dem när det bootar. Däremot kan du lätt montera dem med "mount -a" i efterhand, när systemet redan är uppe...

Om 4:e fältet i fstab nu innehåller "defaults" så blir det alltså "defaults,nofail" eller "defaults,noauto". Givetvis kan du ange "defaults,nofail,noauto" också, men det spelar nog inte så stor roll i det här fallet, eftersom den då inte kommer att försöka montera dem vid boot, enda skillnaden blir väl kanske att "mount -a" inte kan hänga sig....

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


28 mar 2019, 23:38
Profil WWW
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Jag hackade förresten ihop ett litet "bra att ha script" igårkväll, som ger in lista över var grub och övriga bootloaders finns, samt vilka partitioner som är uppsatta för att kunna boota.

Spara som "lsgrub" och kör t.ex med "lsgrub -flwa" eller "lsgrub -dlwa", eller vad du nu vill. Se vad som finns genom att titta i scriptet, eller genom att köra "lsgrub -h" eller "lsgrub --help"...

Kod:
#! /bin/bash
#  Magnus Ewert
#
#file -s $DISK
#file -s /dev/sdb1 | grep -i bootloader | wc -l
#dd bs=512 count=1 if=$DISK 2>/dev/null | strings | grep -i grub | wc -l
#
USER=$(whoami)
if [[ $USER != "root" ]]; then
   echo
   echo "-This script has to be run as root or via sudo"
   echo
   exit
fi
#
function check_boot {
   PART=$1
   TEMP=$(mktemp -d -p /tmp mnt-XXX)
   FS=$(blkid -o value -s TYPE $PART)
   LB=$(blkid -o value -s LABEL $PART)
   MNT=$(mount | grep $PART | awk '{ print $3 }')
   if [[ $FS == "ntfs" ]]; then
      if [[ -z $MNT ]]; then
         mount -t $FS $PART $TEMP
         MNT=$TEMP
      fi
      BOOT1a=$(ls -l $MNT/bootmgr 2> /dev/null)
      BOOT1b=$(ls -l $MNT/BOOTMGR 2> /dev/null)
      if [[ ! -z $BOOT1a && ! -z $BOOT1b ]]; then
         if [[ $QUIET == false ]]; then
            BOOT="Windows"
         fi
      else
         if [[ $QUIET == false ]]; then
            BOOT="Windows"
            echo "-  has a Windows bootmgr"
         fi
      fi
      if [[ $MNT == $TEMP ]]; then
         umount $TEMP
      fi
   elif [[ $FS == "ext2" || $FS == "ext3" || $FS == "ext4" || $FS == "btrfs" || $FS == "reiser" ]]; then
      if [[ -z $MNT ]]; then
         mount -t $FS $PART $TEMP
         MNT=$TEMP
      fi
      GRUB1a=$(ls -l $MNT/boot/grub/menu.lst 2> /dev/null)
      GRUB1b=$(ls -l $MNT/boot/menu.lst 2> /dev/null)
      GRUB2a=$(ls -l $MNT/boot/grub/grub.cfg 2> /dev/null)
      GRUB2b=$(ls -l $MNT/boot/grub2/grub.cfg 2> /dev/null)
      GRUB2c=$(ls -l $MNT/boot/grub.cfg 2> /dev/null)
      if [[ ! -z $GRUB2a || ! -z $GRUB2b || ! -z $GRUB2c ]]; then
         if [[ $QUIET == false ]]; then
            BOOT="Grub2"
            echo "-  has a Grub2 configuration"
         fi
      elif [[ ! -z $GRUB1a || ! -z $GRUB1b ]]; then
         if [[ $QUIET == false ]]; then
            BOOT="Grub1"
            echo "-  has a Grub1 configuration"
         fi
      else
         if [[ $QUIET == false ]]; then
            BOOT=""
            echo
         fi
      fi
      if [[ $MNT == $TEMP ]]; then
         umount $TEMP
      fi
   elif [[ $FS == "iso9660" ]]; then
      if [[ -z $MNT ]]; then
         mount -t $FS $PART $TEMP
         MNT=$TEMP
      fi
      SYSLIN=$(ls -l $MNT/syslinux/memdisk 2> /dev/null)
      if [[ ! -z $SYSLIN ]]; then
         if [[ $QUIET == false ]]; then
            BOOT="Syslinux"
            echo "has a Syslinux (CD) configuration"
         fi
      fi
      if [[ $MNT == $TEMP ]]; then
         umount $TEMP
      fi
   else
      echo
   fi
   if [[ $QUIET == false ]]; then
      :
      #echo $FS
   fi
   rmdir $TEMP
}
function show_part_f {
   PART=$1
   GRUBP=$(file -s $PART | grep -i bootloader | grep -i "grand unified" | wc -l)
   WINBP=$(file -s $PART | grep -i bootloader | grep -i windows | wc -l)
   if [[ $GRUBP -gt 0 && $WINBP -gt 0 ]]; then
      if [[ $QUIET == false ]]; then
         echo "    STRANGE!! $PART seems to have both Grub and Windows bootloader"
      fi
   elif [[ $GRUBP -gt 0 ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo -n "    $PART contains Grub bootloader"
         if [[ $BOOTC == true ]]; then
            echo -n "     "
            check_boot $PART
         else
            echo
         fi
      fi
   elif [[ $WINBP -gt 0 && $WIND == true ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo -n "    $PART contains Windows bootloader"
         if [[ $BOOTC == true ]]; then
            echo -n "  "
            check_boot $PART
         else
            echo
         fi
      fi
   elif [[ $ALL == true ]]; then
      if [[ $QUIET == false ]]; then
         echo -n "    $PART has no bootloader"
         if [[ $BOOTC == true ]]; then
            echo -n "            "
            check_boot $PART
         else
            echo
         fi
      fi
   fi
}
function show_part_d {
   PART=$1
   GRUBP=$(dd bs=512 count=1 if=$PART 2>/dev/null | strings | grep -i grub | wc -l)
   WINBP=$(dd bs=512 count=1 if=$PART 2>/dev/null | strings | grep -i bootmgr | wc -l)
   if [[ $GRUBP -gt 0 && $WINBP -gt 0 ]]; then
      if [[ $QUIET == false ]]; then
         echo "    STRANGE!! $PART seems to have both Grub and Windows bootloader"
      fi
   elif [[ $GRUBP -gt 0 ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo -n "    $PART contains Grub bootloader"
         if [[ $BOOTC == true ]]; then
            echo -n "     "
            check_boot $PART
         else
            echo
         fi
      fi
   elif [[ $WINBP -gt 0 && $WIND == true ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo -n "    $PART contains Windows bootloader"
         if [[ $BOOTC == true ]]; then
            echo -n "  "
            check_boot $PART
         else
            echo
         fi
      fi
   elif [[ $ALL == true ]]; then
      if [[ $QUIET == false ]]; then
         echo -n "    $PART has no bootloader"
         if [[ $BOOTC == true ]]; then
            echo -n "            "
            check_boot $PART
         else
            echo
         fi
      fi
   fi
}
function show_disk_f {
   DISK=$1
   GRUBP=$(file -s $DISK | grep -i bootloader | grep -i "grand unified" | wc -l)
   WINBP=$(file -s $DISK | grep -i bootloader | grep -i windows | wc -l)
   if [[ $GRUBP -gt 0 && $WINBP -gt 0 ]]; then
      if [[ $QUIET == false ]]; then
         echo "  STRANGE!! $DISK seems to have both Grub and Windows bootloader"
      fi
   elif [[ $GRUBP -gt 0 ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo "  $DISK contains Grub bootloader"
      fi
   elif [[ $WINBP -gt 0 && $WIND == true ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo "  $DISK contains Windows bootloader"
      fi
   else
      if [[ $QUIET == false ]]; then
         echo "  $DISK has no bootloader"
      fi
   fi
   PARTS=$(ls $DISK[$RANGE])
   if [[ $LIST == true ]]; then
      for PART in $PARTS; do
         show_part_f $PART
      done
   fi
   if [[ $QUIET == false ]]; then
      echo
   fi
}
function show_disk_d {
   DISK=$1
   GRUBP=$(file -s $DISK | grep -i bootloader | grep -i "grand unified" | wc -l)
   WINBP=$(file -s $DISK | grep -i bootloader | grep -i windows | wc -l)
   if [[ $GRUBP -gt 0 && $WINBP -gt 0 ]]; then
      if [[ $QUIET == false ]]; then
         echo "  STRANGE!! $DISK seems to have both Grub and Windows bootloader"
      fi
   elif [[ $GRUBP -gt 0 ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo "  $DISK contains Grub bootloader"
      fi
   elif [[ $WINBP -gt 0 && $WIND == true ]]; then
      let FOUND_LOADERS+=1
      if [[ $QUIET == false ]]; then
         echo "  $DISK contains Windows bootloader"
      fi
   else
      if [[ $QUIET == false ]]; then
         echo "  $DISK has no bootloader"
      fi
   fi
   PARTS=$(ls $DISK[$RANGE])
   if [[ $LIST == true ]]; then
      for PART in $PARTS; do
         show_part_d $PART
      done
   fi
   if [[ $QUIET == false ]]; then
      echo
   fi
}
function show_all_f {
   for DISK in $ALL_DISKS; do
      show_disk_f $DISK
   done
}
function show_all_d {
   for DISK in $ALL_DISKS; do
      show_disk_d $DISK
   done
}
#####################################################################################################
if [[ $QUIET == false ]]; then
   echo
fi
ALL=false
DUMP=false
FILE=false
BOOTC=false
HELP=false
LIST=false
NOCHAR=false
QUIET=false
WIND=false
RANGE=0-9
UNIT=sd
PARAMS=`getopt -a -o abdfhlnqu:w --long all,boot,dd,file,help,list,nochar,quiet,unit:,wind,windows -n 'grub' -- "$@"`
if [[ $? != 0 ]]; then
   echo "-Getopt failed, status=$?"
   exit 255
fi
eval set -- "$PARAMS"
while true; do
   case $1 in
      -a|--all)
         ALL=true
         shift
         ;;
      -b|--boot)
         BOOTC=true
         shift
         ;;
      -d|--dd)
         DUMP=true
         shift
         ;;
      -f|--file)
         FILE=true
         shift
         ;;
      -h|--help)
         HELP=true
         shift
         ;;
      -l|--list)
         LIST=true
         shift
         ;;
      -n|--nochar)
         NOCHAR=true
         shift
         ;;
      -q|--quiet)
         QUIET=true
         shift
         ;;
      -u|--unit)
         shift
         UNIT=$1
         shift
         ;;
      -w|--wind|--windows)
         WIND=true
         shift
         ;;
      --)
         shift
         break
         ;;
      *)
         shift
         ;;
   esac
done
#
if [[ $DUMP == true && $FILE == true ]]; then
   echo "-Both -d and -f where specified, select one of them"
   echo
   exit 255
elif [[ $DUMP == false && $FILE == false ]]; then
   FILE=true
fi
#
if [[ $HELP == true ]]; then
cat << EOD

grub [-d][-f][-h] [device]

      Check where grub exists

      -a|--all    -  Print info even about partitions without bootloader.
      -d|--dd     -  Check by using "dd"
      -f|--file   -  Check by using "file" (default).
      -g|--grub   -  Check for boot configuration on each partition.
      -h|--help   -  Print this help.
      -l|--list   -  List all partitions.
      -n|--nochar -  Do not add an extra character to the device name.
      -q|--quiet  -  Quiet, perform the check and exit with the number of found bootloaders.
      -u|--unit   -  Change unit from the default /dev/sd
      -w|--wind   -  Show even windows bootloaders.

      device      -  Name of the disk or partition to be checked, for example "/dev/sda" or "/dev/sda1".

                     If no name is given, all disks are checked.

           If -l is specified all partitions of a specific disk is also checked. However, if a
           parttion is specified as "device", nothing else but that partition is checked.

EOD
fi
#
CHECK=$1
CHECK_PART=false
CHECK_DISK=false
CHECK_ALL=false
PART=$(echo $CHECK | egrep -c "([$RANGE])")
if [[ $PART -gt 0 ]]; then
   CHECK_PART=true
elif [[ ! -z $CHECK ]]; then
   CHECK_DISK=true
else
   CHECK_ALL=true
fi
#
FOUND_LOADERS=0
if [[ $NOCHAR == false ]]; then
   ALL_DISKS=$(ls /dev/$UNIT[a-z][$RANGE] | sed 's/[0-9]//g' | sort -u)
   ALL_PARTS=$(ls /dev/$UNIT[a-z][$RANGE])
else
   ALL_DISKS=$(ls /dev/$UNIT[$RANGE] | sed 's/[0-9]//g' | sort -u)
   ALL_PARTS=$(ls /dev/$UNIT[$RANGE])
fi
if [[ $QUIET == false ]]; then
   echo
fi
if [[ $FILE == true ]]; then
   if [[ $CHECK_PART == true ]]; then
      show_part_f $CHECK
   elif [[ $CHECK_DISK == true ]]; then
      show_disk_f $CHECK
   else
      show_all_f
   fi
elif [[ $DUMP == true ]]; then
   if [[ $CHECK_PART == true ]]; then
      show_part_d $CHECK
   elif [[ $CHECK_DISK == true ]]; then
      show_disk_d $CHECK
   else
      show_all_d
   fi
fi
exit $FOUND_LOADERS

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


Senast redigerad av Osprey 29 mar 2019, 17:08, redigerad totalt 1 gång.



28 mar 2019, 23:43
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!
Nu är jag hemma igen.

Tyvärr säger ditt script att jag inte har nån bootloader nånstans:
./lsgrub -dlwa

/dev/sda has no bootloader
/dev/sda1 has no bootloader
/dev/sda2 has no bootloader
/dev/sda3 has no bootloader
/dev/sda4 has no bootloader

/dev/sde has no bootloader
/dev/sde1 has no bootloader


Vilket känns lite scary :) file -s /dev/sdX säger att det finns boot-sektor på båda de hårdiskar som nu är inkopplade.

Men - ytterligare en detalj: det är inte bara så att raidvolymen inte kan monteras. Jag har nu kommenterat ut raden i fstab, så den är inte monterad. Men när jag kör webmin, som i sin tur använder mdadm (men jag gillar guis), så hittar den ingen raid-volym alls. Så jag kan inte montera den förrän jag skapat den, vilket innebär synka, vilket tar ca 6 timmar (minst).

Borde den inte i alla fall hitta raid-volymen? Känns som om jag saknar nåt i systemet som kan hantera raid, helt enkelt - kan det vara så?

Magnus


29 mar 2019, 14:06
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
MagnusL skrev:
Tyvärr säger ditt script att jag inte har nån bootloader nånstans:
./lsgrub -dlwa

/dev/sda has no bootloader
/dev/sda1 has no bootloader
/dev/sda2 has no bootloader
/dev/sda3 has no bootloader
/dev/sda4 has no bootloader

/dev/sde has no bootloader
/dev/sde1 has no bootloader


Vilket känns lite scary :) file -s /dev/sdX säger att det finns boot-sektor på båda de hårdiskar som nu är inkopplade.
När du kör scriptet med "-d" så använder det "dd" för att försöka hitta grub, men om du kör "-f" istället, så använder det ju just "file -s" och borde ge samma resultat som du får fram när du kör "file -s" direkt. Prova t.ex med "./lsgrub -flwab", där b:et innebär att den även ser efter vad som ligger på själva partitionerna.

Man tycker ju att "file -s" och "dd" borde ge samma resultat, men jag har en disk också, där "dd" hittar bootblocket, men "file -s" inte gör det. Enda egentliga skillnaden mellan det sätt som "file -s" respektive "dd" söker på, är att "dd" enbart söker efter grub, medan "file -s" söker en bootloader och även hittar Windows bootloader och (kanske) BSD.

Så om du av någon anledning har en Windows bootloader (eller något annat konstigt), så kommer "lsgrub" inte att hitta något om du kör med "-dlwa". Så prova istället med "-flwab"...

När det gäller just "-d" (dd), så kan du ju köra:
Kod:
dd bs=512 count=1 if=/dev/sda | strings
...direkt och se vad den hittar och kanske samma för /dev/sde.

MagnusL skrev:
Men - ytterligare en detalj: det är inte bara så att raidvolymen inte kan monteras. Jag har nu kommenterat ut raden i fstab, så den är inte monterad. Men när jag kör webmin, som i sin tur använder mdadm (men jag gillar guis), så hittar den ingen raid-volym alls. Så jag kan inte montera den förrän jag skapat den, vilket innebär synka, vilket tar ca 6 timmar (minst).

Borde den inte i alla fall hitta raid-volymen? Känns som om jag saknar nåt i systemet som kan hantera raid, helt enkelt - kan det vara så?
Om raid-volymen överhuvudtaget existerar kan du ju titta på den med:
Kod:
cat /proc/mdstat
...och om volymen finns där, så ska den ju även finnas som "/dev/md0", eller "/dev/md/0" har jag för mig.

Raid-volymen är skapad redan innan den är synkad, men då är det ju bara en hårdvarudisk, plus delar av en annan som ingår. Hur bra den går att montera då vet jag inte exakt, men det finns nog viss risk för att monteringen åker på en timeout...

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


29 mar 2019, 14:44
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!

Ja nu finns min raidvolym, men det är för jag har satt den till att skapas/synkas via Webmin. Så cat /proc/medstat visar den i alla fall. Får testa nästa gång jag bootar och se vad som händer. Men visst är det väl konstigt att den inte dyker upp när jag bootat? Som du säger, den ska ju finnas. Är den inte ordentligt skapad när jag gör det med webmin?

Ditt script: oavsett om jag kör d eller l, så hittar den inget. XXX has not bootloader, är det lite sorgliga meddelandet :) Men kör jag med b, så får jag också felmeddelande om mktemp och rmdir. Vad är det det försöker göra där?

/dev/sde has no bootloader
/dev/sde1 has no bootloader mktemp: misslyckades att skapa en katalog via mallen ”/mnt-XXX”: Åtkomst nekas

rmdir: argument saknas
Försök med ”rmdir --help” för mer information.


29 mar 2019, 14:53
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
MagnusL skrev:
Ja nu finns min raidvolym, men det är för jag har satt den till att skapas/synkas via Webmin. Så cat /proc/medstat visar den i alla fall. Får testa nästa gång jag bootar och se vad som händer. Men visst är det väl konstigt att den inte dyker upp när jag bootat? Som du säger, den ska ju finnas. Är den inte ordentligt skapad när jag gör det med webmin?
Jo, den borde vara precis lika bra skapad med "webmin" som med "mdadm", eftersom webmin med största sannolikhet använder just mdadm...

Men när du kör "cat /proc/mdstat", så kolla så att det på den raden där det står antalet block också står "[UU]" eller något motsvarande och inte "[_U]", eller "[U_]"...

MagnusL skrev:
Ditt script: oavsett om jag kör d eller l, så hittar den inget. XXX has not bootloader, är det lite sorgliga meddelandet :) Men kör jag med b, så får jag också felmeddelande om mktemp och rmdir. Vad är det det försöker göra där?
Ahhhh... jo, du måste nog köra scriptet som root eller med sudo.

Tänkte inte på det, för jag kör som root hela tiden... ;)

Det den gör när den kör mktemp och rmdir är att med mktemp så skapar den en temporär monteringspunkt, där den monterar partitionen för att kunna se vilka boot-saker som finns på den. Och med rmdir så städar den bort den monteringspunkten efteråt... :)

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


29 mar 2019, 16:49
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!

När jag kör /proc/mdstat står det [UU_].....?

Och intressant nog fortfarande inga bootloaders? Men jag har alltså en efi-partitoion, på sda1. Spelar det roll?

Magnus


29 mar 2019, 16:58
Profil
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
MagnusL skrev:
När jag kör /proc/mdstat står det [UU_].....?
Det där betyder att din raid består av 3 diskar, men att den sista inte har synkat in ännu. Vilka diskarna är, kan du se på raden ovanför och mdadm kallar dem för "1", "2" och "3". På samma rad som "[UU_]" står på, så ser du vilken disk som står för varje "U" eller "_"...

MagnusL skrev:
Och intressant nog fortfarande inga bootloaders? Men jag har alltså en efi-partitoion, på sda1. Spelar det roll?
Vet faktiskt inte om det spelar någon roll...

Kör en:
Citat:
dd bs=512 count=1 if=/dev/sda | strings
...och se vad som syns. Det borde stå "grub" i någon form där ändå tycker jag, även om det är efi, nu blev jag nyfiken.... ;)


[EDIT]
Om man ska vara petig, så behöver du egentligen inte dumpa hela blocket (512 bytes), utan det räcker om du dumpar de första 446 bytesen. Det är de som innehåller själva boot-informationen. Det som följer därefter är partitionstabellen och lite annat.

Att dumpa hela blocket är bara för att jag är van vid det av backuporsaker... :)

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


29 mar 2019, 17:15
Profil WWW
Användarvisningsbild

Blev medlem: 06 apr 2008, 00:09
Inlägg: 5254
Ort: Göteborg/Mölndal/Falkenberg
OS: Ubuntu
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Har förresten ändrat lite i scriptet nu, så att det kontrollerar att man är root eller kör via sudo. Dessutom har jag ändrat så att monteringspunkten (den som skapas med mktemp) numera hamnar i "/tmp".

Scriptet en bit upp, är uppdaterat... :)

_________________
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...


29 mar 2019, 17:30
Profil WWW

Blev medlem: 19 aug 2006, 12:33
Inlägg: 16
Svara med citat
Inlägg Re: Problem att boota vid nyinstallation med raid-volym
Hej!

Spännande det här. Jag hittar fortfarande ingen grub. Men datorn startar ju, och jag tror jag sett en grub-meny (men minnet kan spela spratt).

Kör jag dd så:

magnus@vista7:~$ sudo dd bs=512 count=1 if=/dev/sda | strings | grep -i grub
1+0 poster in
1+0 poster ut
512 byte kopierade, 5,845e-05 s, 8,8 MB/s

Samma på sda - sde

Kör jag ditt nya skript som sudo:

magnus@vista7:~$ sudo ./lsgrub

/dev/sda has no bootloader

/dev/sde has no bootloader

/dev/sdg has no bootloader

/dev/sdh has no bootloader



The mystery thickens.... :)

Jag roade mig med att installera och köra Boot-repair (https://help.ubuntu.com/community/Boot-Repair) - och skapa en rapport, men inte ändra nåt. Rapporten börjar med:


=> No boot loader is installed in the MBR of /dev/sda.
=> No boot loader is installed in the MBR of /dev/sde.
=> Windows 7/8/2012 is installed in the MBR of /dev/sdg.
=> No boot loader is installed in the MBR of /dev/sdh.

sda1: __________________________________________________________________________

File system: vfat
Boot sector type: FAT32
Boot sector info: No errors found in the Boot Parameter Block.
Operating System:
Boot files: /EFI/ubuntu/grub.cfg /EFI/BOOT/fbx64.efi
/EFI/ubuntu/fwupx64.efi /EFI/ubuntu/grubx64.efi
/EFI/ubuntu/mmx64.efi /EFI/ubuntu/shimx64.efi



Säger det dig nåt? Jag kan läsa men knappt tolka det.

Magnus


29 mar 2019, 18:06
Profil
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 36 inlägg ]  Gå till sida 1, 2  Nästa

Vilka är online

Användare som besöker denna kategori: Google [Bot] och 5 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
cron
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011