Coder Social home page Coder Social logo

winmd's Introduction

WinMD v0.1

WinMD is a driver allowing Windows to access MD RAID devices - software RAID volumes created by mdadm on Linux. Bear in mind that you will still need a filesystem driver: see, for instance, WinBtrfs and Ext2fsd.

Everything here is released under the GNU Lesser General Public Licence (LGPL); see the file LICENCE for more info. You are encouraged to play about with the source code as you will, and I'd appreciate a note ([email protected]) if you come up with anything nifty.

Donations

I've been developing this driver for fun, and in the hopes that someone out there will find it useful. But if you want to provide some pecuniary encouragement, it'd be very much appreciated:

Features

  • RAID 0
  • RAID 1
  • RAID 4
  • RAID 5
  • RAID 6
  • RAID 10 (near, far, offset)
  • Linear
  • Recognizes version 1 superblocks (1.0, 1.1, 1.2)
  • Nested sets

Todo

  • whole-disk RAID (i.e. recognizing partitions on MD device)
  • reshaping
  • rebuilding
  • checking
  • degraded mounts
  • adding and removing devices
  • creating new sets from Windows
  • RAID4/5/6 journal
  • write-intent bitmaps
  • version 0.9 superblocks

Installation

To install the driver, download and extract the latest release, right-click winmd.inf, and choose Install. The driver is signed, so should work out of the box on modern versions of Windows.

For the very latest versions of Windows 10, Microsoft introduced more onerous requirements for signing, which are only available to corporations and not individuals. If this affects you (i.e. you get a signing error when trying to install the driver), try disabling Secure Boot in your BIOS settings.

There's also a Chocolatey package available - if you have Chocolatey installed, try running choco install winmd.

Uninstalling

From an elevated command prompt, run:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultUninstall 132 winmd.inf

You will probably need to give the full path to winmd.inf. Next time you reboot, Windows will remove the driver from your system.

You can also disable it by opening regedit and setting the value of HKLM\SYSTEM\CurrentControlSet\services\winmd\Start to 4.

Changelog

v0.1 (2019-07-31):

  • Initial release

winmd's People

Contributors

maharmstone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

winmd's Issues

Change drive letter

Yeah,
it works. MDADM raid0 created under Devuan 2.1, format as NTFS and Crystal Disk Mark gives me 220MB/sec read and write under Windows 10. Not bad for some old 2TB HHDs :)

Now is there a way I can manually set the drive letter? I guess WinMD just took the first free one.
But I would like to set to another one.

Thanks
Olli

Dante

I’m Dante , the brains of this operation, kindly warn people of the consequences for stealing emails, and network information, is , you will be charged with fraud and an array of other charges.
Thank you for you’re anticipated cooperation.

Dante

Can't recognize my raid5 array

Array information:
480G SanDisk sata ssd x3
Each ssd has only one partition, which is aligned from 8mb-100% sectors;
Then build raid5 to /dev/md0 in mdadm with sda1, sdb1, sdc1, and then formatted md0 as btrfs. It works well under ubuntu. I have restored the previous 300g game data from the backup, and the speed of btrfs scrub is Stable at 1.1g per second.
However, under win11, even if winmd and winbtrfs are installed, any md volume will not appear.
I have tried to change the gpt partition ID of sd[a-c]1 to 0700, fd00, and 8300, but there is no change except that 0700 will cause three unformatted drive letters.
In fact, before using three ssd as raid5, I used sda2 and sdb2 in two of them to make raid1 with mdadm, but the ntfs formatted at that time can be recognized and used under win10, the 300g game The data is backed up from the ntfs volume of the md of this raid1.

Operation not allowed in WOW64

I have a problem installing the driver on Windows 10 build 19042.685.
Probably this is due to something wrong in the "inf" file.

Can't Get Full Performance of Triple-SSD RAID-0 Array

While Dynamic Disks lets me achieve around 1.2 GB/s on 3 SSDs running in RAID-0, WinMD can only achieve 825 MB/s, akin to only 2 SSDs in RAID-0. CPU usage is around 4% during sequential tests in CrystalDiskMark and each SSD only gets to about 66% usage in Task Manager during these tests. The SSDs only reach 100% during random access tests.

CPU: AMD Ryzen 5 3600
RAM: 2x8GB DDR4-3200
SSDs: 480 GB Intel DC S3610

UPDATE: It seems like the MadMax plotter is able to break 1 GB/s when plotting to the array.

The uninstallation command can't remove the driver in win10 21H2 home

I used the command you provide, but it can't remove the driver, the I used

pnputil /delete-driver winmd.inf /uninstall

it uninstalled the driver. A new problem appears.

Microsoft PnP 工具 // Microsoft PnP Tool

已卸载驱动程序包。// The driver was uninstalled.
无法删除驱动程序包: 指定的文件不是安装的 OEM INF。// Can't delete the driver: Appointed file  is not installed from OEM INF.

Driver doesn't load when built from source

I noticed that when I download the v0.1 binary package everything works fine but when I build the driver ("v0.1" tag) from source it installs happily ("Installation completed successfully") but doesn't seem to load. Here are the steps I followed to build the driver:

  1. Download and install the Windows Driver Kit for Windows 10, version 2004
  2. git clone https://github.com/maharmstone/winmd.git
  3. Build the project by running
    cd winmd
    mkdir build
    cd build
    cmake ..
    cmake --build . --config RelWithDebInfo --parallel
    
  4. Copy the relevant files into the right place
    mkdir package\x64
    cp .\RelWithDebInfo\* .\package\x64\
    cp ..\src\winmd.inf .\package\
    
  5. Create catalog file
    Inf2Cat /driver:package /os:10_X64
    
  6. Sign catalog file
    signtool sign /sha1 <SHA1 of signing key> /t http://timestamp.comodoca.com/authenticode package\winmd.cat
    

"Official" information on how to build the driver is very sparse and I'm not a Windows expert. I would appreciate if someone with a little more Windows development experience could give me a hint.

Power Manage Mode - Can Not Sleep

I've installed it in windows. But I have just found it can't enter sleep mode. So the computer can't enter sleep mode. Woud you please fix this issue by modifying code about IRP_MJ_POWER.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.