• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

Wrong Partition is mounted during deployment. (FOG 1.5.7.56)

Scheduled Pinned Locked Moved
FOG Problems
2
11
662
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G
    Greg Plamondon Testers
    last edited by Greg Plamondon Jul 6, 2020, 1:32 PM Jul 6, 2020, 6:26 PM

    I am using the postdownload scripts function to replace files on the os.
    I have recently created a golden image of Windows 10 build 2004 and something has changed.
    The image is a GPT image.
    When deploying the image to the client pc it fails with:
    alt text

    the OS partition is /dev/sda3

    any ideas on how to fix this?

    *** EDIT
    I went back to the golden image and used diskpart to delete partition 4 which is the Recovery Partition.

    diskpart
    select disk 0
    select partition 4
    delete partition override
    exit
    

    re-syspreped and uploaded to fogserver.

    1 Reply Last reply Reply Quote 0
    • G
      george1421 Moderator
      last edited by Jul 7, 2020, 8:20 PM

      I’m currently building a 2004 reference image in my MDT environment. I’ve kind of held off because of the issues around 2004. But lets see if I can duplicate what you see. With MDT I have it setup to not create the recovery partition (partition 4) by default. Lets see if everything works out of the box with 2004 and deploying using a complex post download script that I have.

      I do see a number of folks reporting issues with FOG and cloning a 2004 based image so there may be some changes MS did to the disk structure.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

      G 1 Reply Last reply Jul 10, 2020, 2:11 PM Reply Quote 0
      • G
        Greg Plamondon Testers
        last edited by Greg Plamondon Jul 10, 2020, 10:14 AM Jul 10, 2020, 1:58 PM

        well, I thought I had it licked but here is the issue with Windows 10 version 2004 MBR image.
        It creates 3 partitions but they are in the wrong order.

        Fog mounts /dev/sda3 which, in this case, is partition 3 the Recovery partition.

        alt text

        Here is the lsblk for the VM golden image.

        alt text

        G 1 Reply Last reply Jul 10, 2020, 4:54 PM Reply Quote 0
        • G
          Greg Plamondon Testers @george1421
          last edited by Jul 10, 2020, 2:11 PM

          @george1421 do you mind sharing your complex post download script with me 🙂

          G 1 Reply Last reply Jul 10, 2020, 4:57 PM Reply Quote 0
          • G
            george1421 Moderator @Greg Plamondon
            last edited by Jul 10, 2020, 4:54 PM

            @Greg-Plamondon said in Wrong Partition is mounted during deployment. (FOG 1.5.7.56):

            Fog mounts /dev/sda3 which, in this case, is partition 3 the Recovery partition.

            Why is this the case. What makes FOG pick /dev/sda3. I think that may be the question here.

            The recovery partition being the last parition on the disk may be the issue with expanding or contracting the disk using “single disk resizable” within FOG in regards to 2004.

            Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

            G 1 Reply Last reply Jul 13, 2020, 1:07 PM Reply Quote 0
            • G
              george1421 Moderator @Greg Plamondon
              last edited by Jul 10, 2020, 4:57 PM

              @Greg-Plamondon said in Wrong Partition is mounted during deployment. (FOG 1.5.7.56):

              do you mind sharing your complex post download script with me

              Sorry I will not do that because that is our secret sauce. But I can tell you I’ve documented it in the tutorials.

              https://forums.fogproject.org/topic/11126/using-fog-postinstall-scripts-for-windows-driver-injection-2017-ed

              And in parts 3, 4 and 5 here:
              https://forums.fogproject.org/topic/7740/the-magical-mystical-fog-post-download-script

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

              1 Reply Last reply Reply Quote 0
              • G
                george1421 Moderator
                last edited by Jul 10, 2020, 10:14 PM

                I was able to capture Windows 10 2004 UEFI from a source system with a 70GB disk and deploy it to a target system (VM) with 50GB disk. It deployed/booted and resized the disk without issue. Again my base image doesn’t have the recovery partition. Next week I schedule a new build task in MDT and leave the recovery partition in place at the end of the partition chain to see what happens on a deploy and resize. But for my use case 2004 works correctly deploying to a VM.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                1 Reply Last reply Reply Quote 0
                • G
                  Greg Plamondon Testers @george1421
                  last edited by Greg Plamondon Jul 13, 2020, 7:08 AM Jul 13, 2020, 1:07 PM

                  @george1421
                  Here is my fog.postdownload

                  #!/bin/bash
                  . /usr/share/fog/lib/funcs.sh
                  curl -A "" -Lkso /tmp/hinfo.sh "${web}/service/hostinfo.php?mac=$mac"
                  . /tmp/hinfo.sh
                  [[ -z $postdownpath ]] && postdownpath="/images/postdownloadscripts/"
                  case $osid in
                      5|6|7|9)
                          clear
                          [[ ! -d /ntfs ]] && mkdir -p /ntfs
                          getHardDisk
                          if [[ -z $hd ]]; then
                              handleError "Could not find hdd to use"
                  
                          fi
                          getPartitions $hd
                          for part in $parts; do
                              true
                          done
                          dots "Mounting partition $part"
                          ntfs-3g -o force,rw $part /ntfs >/dev/null 2>&1
                          if [[ ! $? -eq 0 ]]; then
                              echo "Failed"
                              debugPause
                              handleError "Failed to mount $part ($0)\n    Args: $*"
                          fi
                          echo "Done"
                          case $othertag in
                             [Bb][Aa][Yy])
                                  . ${postdownpath}fog.log
                                  . ${postdownpath}fog.replace-files_bay
                                  . ${postdownpath}fog.drivers
                                  . ${postdownpath}fog.ad_bay
                                  . ${postdownpath}fog.DesktopInfo
                                  ;;
                             [Mm][Pp][Mm][Ii])
                                  . ${postdownpath}fog.log
                                  . ${postdownpath}fog.replace-files_mpmi
                                  . ${postdownpath}fog.drivers
                                  . ${postdownpath}fog.ad_mpmi
                                  . ${postdownpath}fog.DesktopInfo
                                  ;;
                             [Hh][Oo][Mm][Ee])
                                  . ${postdownpath}fog.log
                                  . ${postdownpath}fog.replace-files_home
                                  . ${postdownpath}fog.drivers
                                  ;;
                             [Mm][Tt][Ss])
                                  . ${postdownpath}fog.log
                                  . ${postdownpath}fog.replace-files_fog
                                  . ${postdownpath}fog.drivers
                                  . ${postdownpath}fog.ad_bay
                                  . ${postdownpath}fog.DesktopInfo
                                  ;;
                               *)
                  

                  we use the $othertag to do different things for our sister companies.

                  How is $part determined?

                  G 2 Replies Last reply Jul 13, 2020, 2:52 PM Reply Quote 0
                  • G
                    george1421 Moderator @Greg Plamondon
                    last edited by Jul 13, 2020, 2:52 PM

                    @Greg-Plamondon You might want to update your partition detection script to the one used here:

                    #!/bin/bash
                    . /usr/share/fog/lib/funcs.sh
                    [[ -z $postdownpath ]] && postdownpath="/images/postdownloadscripts/"
                    case $osid in
                        5|6|7|9)
                            clear
                            [[ ! -d /ntfs ]] && mkdir -p /ntfs
                            getHardDisk
                            if [[ -z $hd ]]; then
                                handleError "Could not find hdd to use"
                            fi
                            getPartitions $hd
                            for part in $parts; do
                                umount /ntfs >/dev/null 2>&1
                                fsTypeSetting "$part"
                                case $fstype in
                                    ntfs)
                                        dots "Testing partition $part"
                                        ntfs-3g -o force,rw $part /ntfs
                                        ntfsstatus="$?"
                                        if [[ ! $ntfsstatus -eq 0 ]]; then
                                            echo "Skipped"
                                            continue
                                        fi
                                        if [[ ! -d /ntfs/windows && ! -d /ntfs/Windows && ! -d /ntfs/WINDOWS ]]; then
                                            echo "Not found"
                                            umount /ntfs >/dev/null 2>&1
                                            continue
                                        fi
                                        echo "Success"
                                        break
                                        ;;
                                    *)
                                        echo " * Partition $part not NTFS filesystem"
                                        ;;
                                esac
                            done
                            if [[ ! $ntfsstatus -eq 0 ]]; then
                                echo "Failed"
                                debugPause
                                handleError "Failed to mount $part ($0)\n    Args: $*"
                            fi
                            echo "Done"
                            debugPause
                            . ${postdownpath}fog.copydrivers
                            # . ${postdownpath}fog.updateunattend
                            umount /ntfs
                            ;;
                        *)
                            echo "Non-Windows Deployment"
                            debugPause
                            return
                            ;;
                    esac
                    

                    This one uses a bit more intelligence to find which partition actually has windows on it. I think your script is just picking the last partition and calling it good enough.

                    ref: https://forums.fogproject.org/topic/11126/using-fog-postinstall-scripts-for-windows-driver-injection-2017-ed

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                    G 1 Reply Last reply Jul 13, 2020, 4:57 PM Reply Quote 0
                    • G
                      george1421 Moderator @Greg Plamondon
                      last edited by Jul 13, 2020, 2:54 PM

                      @Greg-Plamondon said in Wrong Partition is mounted during deployment. (FOG 1.5.7.56):

                               for part in $parts; do
                                   true
                               done
                      

                      This is the section that needs tweaking on your script. This bit really doesn’t do anything, It loops through the partitions and says true.

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                      1 Reply Last reply Reply Quote 0
                      • G
                        Greg Plamondon Testers @george1421
                        last edited by Jul 13, 2020, 4:57 PM

                        @george1421 said in Wrong Partition is mounted during deployment. (FOG 1.5.7.56):

                        @Greg-Plamondon You might want to update your partition detection script to the one used here:

                        #!/bin/bash
                        . /usr/share/fog/lib/funcs.sh
                        [[ -z $postdownpath ]] && postdownpath="/images/postdownloadscripts/"
                        case $osid in
                            5|6|7|9)
                                clear
                                [[ ! -d /ntfs ]] && mkdir -p /ntfs
                                getHardDisk
                                if [[ -z $hd ]]; then
                                    handleError "Could not find hdd to use"
                                fi
                                getPartitions $hd
                                for part in $parts; do
                                    umount /ntfs >/dev/null 2>&1
                                    fsTypeSetting "$part"
                                    case $fstype in
                                        ntfs)
                                            dots "Testing partition $part"
                                            ntfs-3g -o force,rw $part /ntfs
                                            ntfsstatus="$?"
                                            if [[ ! $ntfsstatus -eq 0 ]]; then
                                                echo "Skipped"
                                                continue
                                            fi
                                            if [[ ! -d /ntfs/windows && ! -d /ntfs/Windows && ! -d /ntfs/WINDOWS ]]; then
                                                echo "Not found"
                                                umount /ntfs >/dev/null 2>&1
                                                continue
                                            fi
                                            echo "Success"
                                            break
                                            ;;
                                        *)
                                            echo " * Partition $part not NTFS filesystem"
                                            ;;
                                    esac
                                done
                                if [[ ! $ntfsstatus -eq 0 ]]; then
                                    echo "Failed"
                                    debugPause
                                    handleError "Failed to mount $part ($0)\n    Args: $*"
                                fi
                                echo "Done"
                                debugPause
                                . ${postdownpath}fog.copydrivers
                                # . ${postdownpath}fog.updateunattend
                                umount /ntfs
                                ;;
                            *)
                                echo "Non-Windows Deployment"
                                debugPause
                                return
                                ;;
                        esac
                        

                        This one uses a bit more intelligence to find which partition actually has windows on it. I think your script is just picking the last partition and calling it good enough.

                        ref: https://forums.fogproject.org/topic/11126/using-fog-postinstall-scripts-for-windows-driver-injection-2017-ed

                        Thanks, That fixed it!

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        1 / 1
                        • First post
                          11/11
                          Last post

                        160

                        Online

                        12.1k

                        Users

                        17.3k

                        Topics

                        155.3k

                        Posts
                        Copyright © 2012-2024 FOG Project