{"id":33119228,"url":"https://github.com/genosse-einhorn/dracut-ntfsloop","last_synced_at":"2026-01-21T07:37:31.877Z","repository":{"id":176974891,"uuid":"50733696","full_name":"genosse-einhorn/dracut-ntfsloop","owner":"genosse-einhorn","description":null,"archived":false,"fork":false,"pushed_at":"2019-11-10T14:56:23.000Z","size":7,"stargazers_count":8,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-05-08T00:39:59.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genosse-einhorn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-30T16:41:15.000Z","updated_at":"2023-08-02T09:57:47.000Z","dependencies_parsed_at":"2023-07-11T19:01:23.042Z","dependency_job_id":null,"html_url":"https://github.com/genosse-einhorn/dracut-ntfsloop","commit_stats":null,"previous_names":["genosse-einhorn/dracut-ntfsloop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/genosse-einhorn/dracut-ntfsloop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genosse-einhorn%2Fdracut-ntfsloop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genosse-einhorn%2Fdracut-ntfsloop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genosse-einhorn%2Fdracut-ntfsloop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genosse-einhorn%2Fdracut-ntfsloop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genosse-einhorn","download_url":"https://codeload.github.com/genosse-einhorn/dracut-ntfsloop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genosse-einhorn%2Fdracut-ntfsloop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285327645,"owners_count":27152947,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-15T04:00:29.679Z","updated_at":"2025-11-19T21:02:06.766Z","avatar_url":"https://github.com/genosse-einhorn.png","language":"Shell","funding_links":[],"categories":["Minimal rootfs"],"sub_categories":[],"readme":"dracut-ntfsloop: Mount image on NTFS partition\n==============================================\n\nThis dracut module allows you to use a root system located inside\na disk image on a NTFS partition, similar to how Wubi worked.\n\n## Requirements\n\n* dracut (tested with Fedora 23)\n* fuse, ntfs-3g, kpartx, losetup\n* fuse and loop kernel modules available\n\nThe disk image should contain a full partition table. You'll usually create this\nby installing your linux distro of choice in qemu.\n\n## Installation\n\n* copy the `90ntfsloop` directory to `/usr/lib/dracut/modules.d`\n* regenerate your initrd using `dracut --force`\n* add to your kernel command line: `rd.ntfsloop=/PATH/TO/DEVICE:PATH/TO/IMAGE/IN/PARTITION`\n  where `/PATH/TO/DEVICE` can be like `/dev/sda1` but also `UUID=...`.\n\nYou'll want to do this while your system is still running inside qemu.\n\n## Booting\n\nTo boot the final system, your `/boot` partition will need to be accessible\nby your boot loader of choice. You can use grub2's ntfs support combined with\nits ability to access partitions on a loopback image to make this a breeze.\n\nI installed grub2 onto a flash drive (\n`grub2-install --no-floppy /dev/sdX --boot-directory=/mount/point/of/sdX`) and\nset up a config file (`grub2/grub.cfg`) similar to this:\n\n    loopback l (hd0,msdos1)/PATH/TO/DISK.img\n    configfile (l,msdos1)/grub2/grub.cfg\n\nBy the way: Your disk image is still bootable in qemu, and could be made\nbootable in VirtualBox/VMWare too by constructing a suitable `vmdk` file.\n\n## Performance\n\nNot great, because ntfs-3g is involved. Could be improved by calculating the image\nfile offset on the disk and creating the loop device directly, but that is quite\nrisky, especially when the image file is fragmented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenosse-einhorn%2Fdracut-ntfsloop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenosse-einhorn%2Fdracut-ntfsloop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenosse-einhorn%2Fdracut-ntfsloop/lists"}