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

    Mount and Extract files from images

    Scheduled Pinned Locked Moved
    Feature Request
    8
    47
    23.6k
    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.
    • george1421G
      george1421 Moderator @BedCruncher
      last edited by george1421

      @BedCruncher Whats your goal here? Do you need to extract something out of the partclone file (i.e. read a value of a file) or add something to the captured image?

      I’m not trying to discount your need here, I did use the ghost explorer back in the day and it was handy to be able to manipulate the captured gho image without having to recapture it.

      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
      • Wayne WorkmanW
        Wayne Workman
        last edited by

        I’d opt for a simple shell script that could display available images, and a user just input the number they want, and the script do the rest.

        This is a extreme edge case in my opinion, but maybe just supplying a script to do the job would work? I could even produce such a script for consideration to be included into the FOG file collection.

        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!
        Daily Clean Installation Results:
        https://fogtesting.fogproject.us/
        FOG Reporting:
        https://fog-external-reporting-results.fogproject.us/

        1 Reply Last reply Reply Quote 0
        • B
          BedCruncher
          last edited by

          @george1421
          My goal basically was to be able to quickly and easily access images without the need to restore them to get access to the files and add in or copy out simple flat files, not make any major OS changes, or anything other than just dealing with the captured image to either add or remove something.

          I know in the case of adding something I would have to go in and recompress the image and basically get it back to the proper directory and named the proper way at least according to what FOG expects for its own operation. Long term that isn’t what I was thinking about. It was more to be able to at least open an image in a read only format and be able to get access to the image and all files stored within without needing a host box to restore the image to. Espescially if the host box I have on hand is sufficiently different from the original and it BSOD’s on boot.

          Wayne WorkmanW george1421G I 3 Replies Last reply Reply Quote 0
          • Wayne WorkmanW
            Wayne Workman @BedCruncher
            last edited by

            @BedCruncher There’s a moderator here named @ch3i who has a script that can decompress and recompress images on the fog server itself. It’s buried somewhere in the forums but it’s here. I think that would be a good starting point.

            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!
            Daily Clean Installation Results:
            https://fogtesting.fogproject.us/
            FOG Reporting:
            https://fog-external-reporting-results.fogproject.us/

            1 Reply Last reply Reply Quote 0
            • george1421G
              george1421 Moderator @BedCruncher
              last edited by

              @BedCruncher The tools Sebastian posted about will let you mount the partclone image on the fog server and let you read the contents of the image file within the linux environment. You can extract files from this mounted file system. While I have not tried this, I’m envisioning that it works the same way as you can mount an .iso image in windows or linux as a read only file system.

              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!

              Wayne WorkmanW 1 Reply Last reply Reply Quote 0
              • Wayne WorkmanW
                Wayne Workman @george1421
                last edited by

                @george1421 that would be integrated into any script I write.

                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!
                Daily Clean Installation Results:
                https://fogtesting.fogproject.us/
                FOG Reporting:
                https://fog-external-reporting-results.fogproject.us/

                1 Reply Last reply Reply Quote 1
                • B
                  BedCruncher
                  last edited by

                  @Sebastian-Roth @george1421
                  I’ve got the latest version of those tools downloaded and installed. I will attempt to get one of my images mounted in that way and let you both know how I fare.

                  1 Reply Last reply Reply Quote 2
                  • B
                    BedCruncher
                    last edited by

                    @george1421 @Sebastian-Roth
                    I was having issues with the newer one trying to get it mounted. I uninstalled it and then tried to install the one you sent me the link to, but when I am trying to find any kind of documentation with relevant references to get it working, I can’t really see anything on how to properly use it.

                    The restore command I ran is

                     cat /images/W7Px64PreSysprep/d1p2.img | gzip -d -c > /tmp/test_img.img
                    

                    I then ran

                    imagemount -d /dev/nbd0 -f /tmp/test_img.img -m /mnt -t ntfs
                    

                    and got no errors, but when I do a ls on /mnt I see nothing.

                    I had saw on other places such as the Clonezilla FAQ where I might have to run the command modprobe nbd, but I get the error modprobe: FATAL: Module nbd not found.

                    1 Reply Last reply Reply Quote 0
                    • I
                      ITSolutions Testers @BedCruncher
                      last edited by

                      @BedCruncher said in Mount and Extract files from images:

                      I know in the case of adding something I would have to go in and recompress the image and basically get it back to the proper directory and named the proper way at least according to what FOG expects for its own operation. Long term that isn’t what I was thinking about. It was more to be able to at least open an image in a read only format and be able to get access to the image and all files stored within without needing a host box to restore the image to. Espescially if the host box I have on hand is sufficiently different from the original and it BSOD’s on boot.

                      When you restore to another box, you don’t have to boot it. What I do is place a second drive in a machine, pull the image to that drive then boot from the first drive, you can then access the files with in the image as a second drive on the machine, never actually booting the image. Then just recapture if any changes are made. No need for having the same hardware.

                      1 Reply Last reply Reply Quote 3
                      • S
                        Sebastian Roth Moderator
                        last edited by

                        @BedCruncher said:

                        Module nbd not found.

                        That sounds kind of odd. I use the nbd module all the time. Possibly compiled into the kernel instead of compiled as a kernel module? What system are you trying this on? Kernel version? OS version?

                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          BedCruncher @Sebastian Roth
                          last edited by

                          @Sebastian-Roth
                          CentOS Linux release 7.2.1511 (Core)
                          3.10.0-327.13.1.el7.x86_64

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sebastian Roth Moderator
                            last edited by Sebastian Roth

                            I think I may start crying in a moment… http://purplepalmdash.github.io/blog/2015/08/13/build-nbd-kernel-module-on-centos7/

                            Why the hell does CentOS discard nbd kernel module? Haven’t done much research on this yet. Maybe there is a good reason, I don’t know.

                            You definitely need the kernel module to be able to use /dev/nbd0!

                            Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                            Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                            1 Reply Last reply Reply Quote 0
                            • B
                              BedCruncher
                              last edited by

                              @Sebastian-Roth
                              I’ve got the proper kernel source downloaded and am building according to the link you provided. Will update once I have any info to add.

                              1 Reply Last reply Reply Quote 1
                              • B
                                BedCruncher
                                last edited by BedCruncher

                                @Sebastian-Roth
                                I’ve got the module build and loaded properly and am starting the restore process to see the it from beginning to end and trying to mount the image using imagemount. Will update once I know more.

                                EDIT:
                                @george1421 @Sebastian-Roth
                                Ran into a slight hitch with the kernel module. Didn’t realize when I rebooted earlier this AM that I had a kernel update. Had to redownload and recompile the nbd module. Still in the testing part of getting the image restored and mounted.

                                1 Reply Last reply Reply Quote 2
                                • B
                                  BedCruncher
                                  last edited by BedCruncher

                                  @Sebastian-Roth @george1421
                                  OK, I’ve run it through all of the steps that I can think of to get imagemount working. I’ve not succeeded in this endeavor.

                                  To generate the image I first tried

                                  cat /images/W7Px64PreSysprep/d1p2.img | pigz -d -c > /tmp/test_img.img
                                  

                                  I’ve also tried to restore it using

                                  cat W7Px64PreSysprep/d1p2.img | gzip -d -c | partclone.ntfs -r -C --restore_raw_file -s - -O /tmp/test_img.img
                                  

                                  and

                                  cat /images/W7Px64PreSysprep/d1p2.img | pigz -d -c | partclone.restore -C -s - -O /tmp/test_img.img
                                  

                                  and tried to mount the image using

                                  imagemount -d /dev/nbd0 -f test_img.img -r
                                  
                                  imagemount -d /dev/nbd0 -f test_img.img -r -m /mnt -t ntfs
                                  
                                  imagemount -d /dev/nbd0 -f test_img.img -r -m /mnt -t ntfs -v verbose
                                  

                                  Do either of you have a thought about how to do anything different?

                                  EDIT:
                                  I did get the nbd kernel module loaded with my current kernel 3.10.0-327.18.2.el7.x86_64

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Sebastian Roth Moderator
                                    last edited by

                                    Hmmmmm. I will give this a try on Debian over the weekend… Will let you know. Thanks fro testing and reporting so far.

                                    Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                    Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                    1 Reply Last reply Reply Quote 1
                                    • S
                                      Sebastian Roth Moderator
                                      last edited by Sebastian Roth

                                      @BedCruncher Ouch! Not going to suggest those partclone-utils anymore. After playing a little bit with those tools without being successful in regards of actually mounting an image I now have two (four) very ugly un-interruptable processes in my process list:

                                      ps ax | grep imagemount
                                       7979 ?        Ds     0:00 /path/to/partclone-utils-0.2.1/src/imagemount -d /dev/nbd0 -f disk.img -m /mnt/ -t ntfs
                                       7980 ?        Z      0:00 [imagemount] <defunct>
                                       8020 ?        D      0:00 /path/to/partclone-utils-0.2.1/src/imagemount -d /dev/nbd0 -f disk.img -m /mnt/ -t ntfs
                                       8023 ?        Z      0:00 [imagemount] <defunct>
                                      

                                      I probably need to reboot to get rid of those. This tool is definitely a bit odd and probably needs some good work to make it work.

                                      [edit]At least I was able to clean things up by starting imagemount as a foreground process and enable verbose logging like this ./imagemount -d /dev/nbd0 -f sys.img -m /mnt/ -t ntfs -Dr -v 2 - but still there is nothing in /mnt. Some image files even fail with weird “No such file or directory” errors although the file does exist and is readable. I have no idea…[/edit]

                                      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Sebastian Roth Moderator
                                        last edited by Sebastian Roth

                                        There is another project called partclone-nbd. Although I had to modify CMakeList.txt (change version from 3.1 to 3.0 as debian comes with cmake 3.0.2) and src/signals.c (define the loop counter before the for loop) to be able to build that tool.

                                        /path/to/partclone-nbd/partclone-nbd -c sys.img 
                                        [ DBG ] Log file initialized.
                                        [ DBG ] Image file opened.
                                        [ DBG ] Image header readed.
                                        [ DBG ] Correct image signature.
                                        [ DBG ] Detected supported image version 0001.
                                        [ DBG ] Header data loaded.
                                        [ DBG ] 
                                        [ DBG ] Information from header:
                                        [ DBG ] - device size: 532417536 bytes
                                        [ DBG ] - blocks count: 98138
                                        [ DBG ] - used blocks: 16499
                                        [ DBG ] - block size: 4096 bytes
                                        [ DBG ] - checksum size: 4 bytes
                                        [ DBG ] - blocks per checksum: 1
                                        [ DBG ] 
                                        [ DBG ] Bitmap type is "byte".
                                        [ DBG ] Memory required by bitmap: 12272.
                                        [ DBG ] Memory for bitmap allocated.
                                        [ DBG ] Bytemap mapped to memory.
                                        [ DBG ] Correct bitmap signature.
                                        [ DBG ] Bytemap loaded to bitmap.
                                        [ DBG ] Bytemap unmapped.
                                        [ DBG ] Bitmap created.
                                        [ DBG ] Memory required by cache array: 24.
                                        [ DBG ] Memory for bitmap cache allocated.
                                        [ DBG ] Cache created.
                                        [ DBG ] Image image created.
                                        [ INF ] Image loaded.
                                        [ DBG ] A pair of sockets created.
                                        [ DBG ] /dev/nbd0 device opened.
                                        [ DBG ] NBD device socket cleared.
                                        [ DBG ] Socket for communication with kernel set.
                                        [ DBG ] Image block size (4096) sent.
                                        [ DBG ] Number of blocks (98138) sent.
                                        [ DBG ] Read only device attribute set.
                                        [ DBG ] Lock thread created.
                                        [ DBG ] Memory for storing a chunk allocated.
                                        [ DBG ] Signal return point set.
                                        [ DBG ] SIGHUP handler set.
                                        [ DBG ] SIGINT handler set.
                                        [ DBG ] SIGTERM handler set.
                                        [ DBG ] SIGQUIT handler set.
                                        [ DBG ] SIGUSR1 handler set.
                                        [ DBG ] SIGUSR2 handler set.
                                        [ INF ] Waiting for requests ...
                                        

                                        Looks promising I thought. But when I try mounting /dev/nbd0 I get: ntfs-3g-mount: mount failed: Permission denied (yes I am root!) - not sure what I’m doing wrong.

                                        [edit]Ok, getting closer I suppose. Tried a different image (all dummy test images). When trying to mount I get this:

                                        Failed to read last sector (204798): Invalid argument
                                        HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
                                           or it was not setup correctly (e.g. by not using mdadm --build ...),
                                           or a wrong device is tried to be mounted,
                                           or the partition table is corrupt (partition is smaller than NTFS),
                                           or the NTFS boot sector is corrupt (NTFS size is not valid).
                                        Failed to mount '/dev/nbd2': Invalid argument
                                        The device '/dev/nbd2' doesn't seem to have a valid NTFS.
                                        Maybe the wrong device is used? Or the whole disk instead of a
                                        partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
                                        

                                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                        B 1 Reply Last reply Reply Quote 0
                                        • x23piracyX
                                          x23piracy @BedCruncher
                                          last edited by x23piracy

                                          @BedCruncher @Sebastian-Roth @Tom-Elliott

                                          Hi, i even tried it and it worked like a charm on ubuntu 14.04, it would be a really cool improvement when this could be done directly in the fog webinterface, lets say a button in the image management that could be clicked.

                                          When extraction and mounting is finished send email when configured and or use the pushbullet plugin to tell the admin that image extraction and mounting is finished.

                                          Lets say we have a fixed mount point for example /mnt we can configure samba to easily access the moint point from a remote machine.

                                          Finally we need another webif button to umount and delete the extracted image when finished restoring.

                                          Another idea is to automatically umount the restore mountpoint and delete the extracted image after lets say 24 hours (maybe cron driven) because after that amount of time restoring files should be finished and that way the admin cannot forget to umount the restore point and to delete the extracted image. Anyway if the storage is big enough that should not harm the system until the next image has to be restored.

                                          Don’t forget additional Storage Nodes, this have to work with Main Fog and additional Storage Nodes, where ever the Image is stored.

                                          What do you guys think about that?

                                          EDIT:

                                          I found the following on the web:

                                          alt text

                                          zcat sda5.ext4-ptcl-img.gz.aa | partclone.ext4 -C -s - -r -o /mnt/sda1.loop.img --restore_raw_file
                                          

                                          https://sourceforge.net/p/clonezilla/discussion/Clonezilla_live/thread/4db4b2bd/#8d04

                                          Regards X23

                                          ║▌║█║▌│║▌║▌█

                                          B 1 Reply Last reply Reply Quote 0
                                          • x23piracyX
                                            x23piracy
                                            last edited by

                                            Maybe something like that:

                                            alt text

                                            ║▌║█║▌│║▌║▌█

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post

                                            227

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project