6 Replies Latest reply on Mar 6, 2009 2:40 AM by christian.schmidt@porsche

    [1] Error mounting Drive C:

    christian.schmidt@porsche Apprentice
      Hallo allerseits,

      mal wieder ein kleines Problem:

      Beim Betriebsysteminstallieren mit einem Image kommt, direkt nachdem das Image erfolgreich durch acronis auf die Maschine gebracht wurde, eine Fehlermeldung, daß das Laufwerk C: nicht gemountet werden kann.
      Die Betriebsysteminstallation läuft dann in der eMMC auf Fehler, die Maschine wird, nach einem Neustart, nicht in die Domäne übernommen (weil der Client nicht auf C: kopiert werden kann?). Das Image ist aber fehlerfrei auf der Platte gelandet.

      Jemand ne Idee?

      MfG

      Christian Schmidt

      PS: Wo finde ich denn die entsprechende Logdatei mit der Fehlermeldung aus dem Betreff? Der Fehler wird ja in der eMMC angezeigt, in NiLogs find ich aber nix...
        • 1. Re: [1] Error mounting Drive C:
          ChristophSteckelberg Expert
          Hallo Christian

          Gehe mal in deinem Bootenvironment in das Verzeichnis .\Extern$\pxelinux.cfg und öffne die Datei default mit dem notepad (!!!)
          Dann tauscht Du ENABLELOGIN=0 gegen ENABLELOGIN=1 und bereitest die Distribution erneut vor.

          Egebnis: Du hast soetwas wie ein Debug Bootenvironment. Zum starten von Acronis musst Du am Shellprompt "startosdclient" eingeben. Nach dem zurückimagen bleibt die Maschine auch wieder im Shellprompt stehen.

          Was während startosdclient und dem Shellprompt passieren soll, siehst Du am OS Configuration Package Deines Image in der Script.inc.
          Ich vermute dass der Befehl "mountcpartition /mnt/drive_c" fehlschlägt. Den kannst Du nach dem "startosdclient" noch einmal per Hand eingeben um eine aussagekräftige Fehlermeldung zu erhalten.
          Warum nach "startosdclient" ? Weil in diesem Skript noch Devicenodes angelegt werden.

          Meine Vermutung was Dein eigentliches Problem ist:
          1. Das Image wurde von einem Rechner gezogen, bei dem das NTFS-Dateisystem nicht sauber ausgehängt war. Beim mounten im Linux kommt es dann zu Problemen.
          2. Es sind sowohl IDE als auch SATA / SCSI was auch immer Platten verbaut. Acronis imaged auf ein Laufwerk zurück was die PNP-Detection im Linux nicht als Laufwerk C erkennt -> Im Endeffekt wird nicht versucht, die Partition mit dem Windows Image zu mounten, sondern irgend eine andere.

          Edit: Die Fehlermeldung kommt aus der Script.inc aus dem OS Configuration Package:

          > if mountcpartition ${mount_dir}; then
          >  echo "Drive C: was mounted to ${mount_dir}"
          > else
          >  set_error "Error mounting Drive C:"
          >  exit 1 
          > fi
          • 2. Re: [1] Error mounting Drive C:
            christian.schmidt@porsche Apprentice
            Hallo Christoph,

            danke für die Hinweise. Ich habe den Fehler bis in getcpartition zurückverfolgt: sfdisk -d /dev/sda | grep -E '^/dev' | wc -l liefert 0, damit geht das script davon aus, daß es (statt 2 partitionen) deren nur null gibt... --> fehler... Ich schau mir das jetzt mal mit ner anderen Maschine an, kenn mich mit linux nicht so aus und brauche vergleiche...

            Vielen Dank schon mal und Gruß

            Christian

            PS: Hardware ist ein Notebook (Samsung P55), das gleiche (nicht das selbe), von welchem ich auch das Image gezogen habe...
            • 3. Re: [1] Error mounting Drive C:
              ChristophSteckelberg Expert
              Hallo Christian

              lade Dir http://ftp.gnu.org/gnu/parted/static/parted-1.8.1-static herunter und entpacke das Binary per upx (http://upx.sourceforge.net/)
              Das resultierende Binary legst Du ins Extern$ Deines OS Setup File Package (direkt neben die .tib Dateien des Image) - Danach die Distribution vorbereiten.

              Führe dann mal bitte "parted-1.8.1-static -l" in Deinem Bootenvironment aus (das sollte nach startosdclient unter "/mnt/O/.... usw." liegen) und poste das Ergebnis.
              • 4. Re: [1] Error mounting Drive C:
                christian.schmidt@porsche Apprentice
                Holla Christoph,

                anbei die Partitionstabelle:

                Model: ATA FUJITSU MHZ2320B (scsi)
                Disk /dev/sda: 320GB
                Sector size (logical/physical): 512B/512B
                Partition Table: msdos

                Number  Start   End    Size   Type     File system  Flags
                1      32.3kB  106GB  106GB  primary  ntfs         boot
                2      106GB   320GB  214GB  primary  ntfs             


                Der Witz ist, nachdem das Image zurückgespielt (operation has succeeded) wurde läuft mountcpartition auf fehler, danach laufen noch ein paar progrämmchen, unter anderem nochmal sfdisk (Updating /dev/sda), starte ich jetzt mountcpartition nochmal von Hand funktioniert es...

                Wie kann ich denn die gepackten Dateien vmlinuz und initrd so aus- und wieder einpacken, daß ich die scripte anpassen kann?

                Achja, was eventuell noch erwähnenswert ist: ich nutze, da mit dem P55 die alten Linux-Bootenvironments nicht funktionieren, eines aus der 6.3er, also ne Betaversion. Ich bin aber den Meinung, daß ich mit dem Bootenv. schon mal eine Maschine ordentlich geimaged habe... Werd ich aber auch gleich mal testen...

                Gruß

                Christian
                • 5. Re: [1] Error mounting Drive C:
                  ChristophSteckelberg Expert
                  Hallo Christian

                  Du kannst versuchen in die Script.inc des OS Configuration Package zwischen dem Acronis-zurückimagen und dem mountcpartition noch jeweils pnpdetect (Da weiss ich aber momentan nicht ob das Binary tatsächlich so heisst, evtl. noch mal in den ganzen /bin /sbin /usr/bin /usr/sbin Pfaden suchen) und / oder "sync && sleep [Sekunden]" einzubauen.

                  Am vmlinuz (dem eigentlichen Kernel) und der initrd (das Root-Filesystem mit den ganzen Tools) musst Du nichts ändern. Zusätzliche Tools kannst Du wie das parted einbinden und zur Laufzeit aus dem CIFS-Share in /mnt/O starten.
                  • 6. Re: [1] Error mounting Drive C:
                    christian.schmidt@porsche Apprentice
                    Hallo Christoph,

                    ich habe wie vorgeschlagen ein wenig in der Script.inc gefummelt und damit klappts:
                    if mountcpartition ${mount_dir}; then
                      echo "Drive C: was mounted to ${mount_dir}"
                    else
                      set_error "Error mounting Drive C:"
                      exit 1 
                    fi 
                    ersetzt durch:
                    if mountcpartition ${mount_dir}; then
                      echo "Drive C: was mounted to ${mount_dir}"
                    else
                      echo "Error mounting Drive C:, sleeping 10 seconds"
                      sleep 10
                      if mountcpartition ${mount_dir}; then
                       echo "Drive C: was mounted to ${mount_dir}"
                      else
                       set_error "Error mounting Drive C:"
                       exit 1 
                      fi 
                    fi 

                    Nochmals vielen Dank für Deine Hilfe!!

                    Gruß

                    Christian