Name | Modified | Size | Downloads / Week |
---|---|---|---|
ReadMe.txt | 2018-11-10 | 6.3 kB | |
grub4dos_0.4.5c_svn_revision_359_source.rar | 2018-11-10 | 1.6 MB | |
AHCI_NVME_V1.4_20181027.rar | 2018-10-27 | 406.8 kB | |
AHCI_V1.3_20140601.rar | 2014-06-01 | 297.0 kB | |
AHCI_V1.2_20140209.rar | 2014-02-23 | 262.3 kB | |
AHCI_20131014.rar | 2013-10-15 | 262.7 kB | |
AHCI_20131012.rar | 2013-10-15 | 262.4 kB | |
Totals: 7 Items | 3.1 MB | 9 |
Grub4DOS AHCI / NVMe speed patch for memory maps -------------------------------------------------- This package includes the following directories: - bin -> compiled grldr version 0.4.5c with AHCI / NVMe support - patch -> ahcinvme.patch for updating stock grub 0.4.5c source code - src -> all changed and additional source code files used with grub 0.4.5c The AHCI and NVMe support can be enabled by using the additional grub menu commands "ahci" and "nvme". We can set the following parameters with the new commands: ahci --set-drive=DRIVE --set-controller=CONTR --set-port=PORT [--showall] [--showselected] nvme --set-drive=DRIVE --set-controller=CONTR [--showall] [--showselected] Using these commands searches PCI configuration space for all present AHCI / NVMe controllers. After setting this option every read to DRIVE is redirected to the selected AHCI / NVMe controller. The CONTR and PORT arguments start at zero, where 0 corresponds to the 1st present AHCI / NVMe controller / port found. If the option --showall is used, all AHCI / NVMe controllers, ports and connected devices are displayed. If the option --showselected is used, the selected AHCI / NVMe controller, port and connected device is displayed. The argument --uninit uninitializes all AHCI / NVMe controllers. This command was implemented to speed up transfer rates if an image file is loaded from an AHCI / NVMe SSD and mapped to RAM. The AHCI / NVMe support can not be disabled anymore during compile with the configure command. We removed this feature to make the code simpler. The standard read block size is now always 32 MB, because this is the maximum data transfer size we can get from an AHCI hard disk device at issuing one read command. If an image file is mapped to RAM we get a speed of 550 MB/s with a Samsung 840 Pro SSD and 3 GB/s for a Samsung 960 EVO NVMe SSD. Pay attention that this AHCI / NVMe addition is only useful if you load the images from SSD to RAM. Loading a disk image directly or using a normal platter HDD does not increase the read speed much. Use this patch with care on your own risk! Because we added some parameters to the AHCI and NVMe command line we wanna show you two sample menu entries for both RAM disk mappings: title Win10 - RAMDISK AHCI ahci --set-drive=0x80 --set-controller=0 --set-port=0 --showselected find --set-root --ignore-floppies /win10.vhd map --mem /win10.vhd (hd0) map --hook ahci --uninit root (hd0,0) chainloader /bootmgr title Win10 - RAMDISK NVMe nvme --set-drive=0x80 --set-controller=0 --showselected find --set-root --ignore-floppies /win10.vhd map --mem /win10.vhd (hd0) map --hook nvme --uninit root (hd0,0) chainloader /bootmgr You should always include the new "--uninit" parameter directly after the "map --hook" command. This stops the redirection of drive 0x80 (hd0) to the AHCI / NVMe read procedure. The drive number should always match the real BIOS drive number for the system, otherwise the system may hang. Many thanks to all the developers and forum members of reboot pro for making it possible to boot a full-sized Windows from RAM and harddisk image. Greets Kai Schtrom Changes V1.1 -------------- - AHCI controller hang in AHCI read mode on last block of memory mapped image On some AHCI controllers we got problems with the last block of a memory mapped disk image that was not 32 MB in size. The controller hangs the system at reading this block. I think this is related to the fact that in version V1.0 we only read 32 MB blocks in AHCI mode and read the last block with the build in BIOS INT13 function. This seems to hang some computers. Changes V1.2 -------------- - AMD AHCI controller hang at identify device command For some if not all AMD AHCI controllers the identify device command hangs the controller if the data byte count of the PRDT is equal to the real transfer size of 0x200. We should set this field always one less than the transfer byte count. For identify device command we now use 0x1FF as PRDT data byte count. Changes V1.3 -------------- - HP Intel AHCI controller hang at device enumeration For some Intel AHCI controllers on HP machines the controller hangs at device enumeration. We restructered the AHCI code completely based on Microsoft's StorAhci StorPort Miniport Driver. The device detection and controller interaction should now work better than in previous versions. - Grub4Dos AHCI manual command mode changed It is now possible to view the AHCI controller and the connected devices in manual command mode without entering the arguments "--set-controller" and "--set-port". You can enter the single argument "--showall" to see on which controller or port a HDD is connected. Changes V1.4 -------------- - added NVMe support for faster mapping of image file to RAM disk With a Samsung 960 EVO NVMe SSD we get a transfer speed of 3 GB/s. - Grub4Dos AHCI and NVMe command mode changed New possibility to enter the BIOS drive number for the AHCI and NVMe controller with the parameter "--set-drive". All reads to the selected BIOS drive number are redirected to the AHCI / NVMe controller. The default value is set to 0x80 (the first hard disk). In versions before V1.4 this was hardcoded to 0x80. In addition we implemented the parameter "--uninit" to do an uninitialization of the AHCI / NVMe controller any time. Updated examples for the menu.lst file are included in the ReadMe.txt. The drive number should always match the real drive number in the system, otherwise the system may hang. GRUB4DOS Code Base for the releases ------------------------------------- The source code base used for all the releases is contained in the archive named grub4dos_0.4.5c_svn_revision_359_source.rar. It was downloaded some time ago with the following SVN command: svn co -r 359 http://grub4dos-chenall.googlecode.com/svn/trunk grub4dos The SVN repository with revision number 359 is no longer present, therefore I uploaded it to make building your own GRUB4DOS loader based on my patches easier. Pay attention that you will need the SVN package and release V1.4 to build the GRUB4DOS loader with embedded AHCI / NVMe support.