CINXE.COM
Linear Imaging vs Runtime Imaging vs Multi-Pass Imaging
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <meta http-equiv="content-language" content="en" /> <link rel="stylesheet" type="text/css" href="/includes/en/style.css" /> <link rel="shortcut icon" href="/images/rtt.ico" /> <link rel="icon" type="image/png" href="/images/rtt.png" sizes="64x64"> <meta name="keywords" content="multi-pass imaging, linear, runtime, extract data from damaged drive, disk with bad sectors, skipping bad sector blocks, I/O rate, failing hard drives"/> <meta name="Description" content="Comparison between linear imaging, multi-pass imaging, and runtime imaging. Their advantages and drawbacks."/> <title>Linear Imaging vs Runtime Imaging vs Multi-Pass Imaging</title> <style type="text/css"> a:link.link1 {text-decoration: none; color:grey;} a:active.link1 { color:cyan; text-decoration: underline} a:visited.link1 { color:violette; text-decoration: none} a:hover.link1 { text-decoration: underline; color: blue} </style> <script type="text/javascript" charset="utf-8"> // Generic routines function strTrim(str) { return str.replace(/^\s+|\s+$/gm,''); } // Single element class manipulations function _nodeGetClassPos(Node,className) { if (!Node||!Node.className) return -1;if ((!className)||(className.length<=0)) return 0; for(var s=0;true;) { var p=Node.className.indexOf(className,s);if (p<0) return -1; s=p+className.length; if ((p>0)&&(Node.className.charCodeAt(p-1)>32)) continue; if ((s<Node.className.length)&&(Node.className.charCodeAt(s)>32)) continue; return p; } return -1; } function nodeHasClass(Node,className) { return (_nodeGetClassPos(Node,className)>=0); } function nodeAddClass(Node,className) { if ( (!Node) || (!className) || (className.length<=0) || (nodeHasClass(Node,className)) ) return false; if ( (Node.className) && (Node.className.length>0) ) Node.className+=" "; Node.className+=className; return true; } function nodeDelClass(Node,className) { if ( (!Node) || (!Node.className) || (!className) || (className.length<=0) ) return false; var pos=_nodeGetClassPos(Node,className);if (pos<0) return false; var pos2=pos+className.length; if ((pos>0)&&(Node.className.charCodeAt(pos-1)<=32)) {pos--;} else if ((pos2<Node.className.length)&&(Node.className.charCodeAt(pos2)<=32)) {pos2++;} Node.className = Node.className.slice(0,pos) + Node.className.slice(pos2); return true; } function nodeSwitchClass(Node,className) { if ((!Node)||(!className)) return; if (nodeHasClass(Node,className)) { nodeDelClass(Node,className); } else { nodeAddClass(Node,className); } } // Multiple elements class manipulations function nodesHasClass(Nodes,className) { for(var i=0;i<Nodes.length;i++) {if (nodeHasClass(Nodes[i],className)) return true;} return false; } function nodesAddClass(Nodes,className) { for(var i=0;i<Nodes.length;i++) {nodeAddClass(Nodes[i],className);} } function nodesDelClass(Nodes,className) { for(var i=0;i<Nodes.length;i++) {nodeDelClass(Nodes[i],className);} } // Supplement search functions function _findBuild(Selector) { var Search = {Elem:'',Class:'',Type:''}; if (typeof Selector === 'string') Search.Elem=Selector; var pos=Search.Elem.indexOf('[type=');if (pos>=0) { var pos2=Search.Elem.lastIndexOf(']'); if (pos2>pos) { Search.Type=Search.Elem.slice(pos+6,pos2-pos-6); Search.Elem=Search.Elem.slice(0,pos)+Search.Elem.slice(pos2+1); } } pos=Search.Elem.indexOf('.');if (pos>=0) { Search.Class=Search.Elem.slice(pos+1); Search.Elem=Search.Elem.slice(0,pos); } Search.Elem=Search.Elem.toUpperCase(); return Search; } function _findDoesNodeMatch(Search,Node) { if ((!Node)||(Node.nodeType!=1)) return false; var bMatch=true; if ( (Search.Elem!="") && ((!Node.tagName)||(Node.tagName!=Search.Elem)) ) {bMatch=false;} if ( (Search.Type!="") && ((!Node.type)||(Node.type!=Search.Elem)) ) {bMatch=false;} if ( (Search.Class!="") && (!nodeHasClass(Node,Search.Class)) ) {bMatch=false;} return bMatch; } // Search for nodes, Selector = 'element.class[type=typename]', each part can be omited, i.e. '.class' or 'element[type=typename]' for example function nodeFindChildren(Node,Selector) { // Search for matched children nodes, recursively var res = [];if (!Node) return res; var Search = (typeof Selector === 'object')?Selector:_findBuild(Selector); var Children = Node.childNodes; for(var i=0;i<Children.length;i++) { if (Children[i].nodeType!=1) continue; if (_findDoesNodeMatch(Search,Children[i])) {res.push(Children[i]);} res=res.concat(nodeFindChildren(Children[i],Search)); } return res; } function nodeFindDirectChildren(Node,Selector) { // Search for matched children nodes, only children of this node var res = [];if (!Node) return res; var Search = _findBuild(Selector); var Children = Node.childNodes; for(var i=0;i<Children.length;i++) { if (Children[i].nodeType!=1) continue; if (_findDoesNodeMatch(Search,Children[i])) {res.push(Children[i]);} } return res; } function nodeFindParent(Node,Selector) { // Search for first matched parent node if (!Node) return null; var Search = _findBuild(Selector); for(var Res=Node.parentNode;Res;Res=Res.parentNode) { if (_findDoesNodeMatch(Search,Res)) return Res; } return null; } // Check if Node have specified Child on any level function hasSpecifiedChild(Node,Child) { if (!Node) return false; var Children = Node.childNodes; for(var i=0;i<Children.length;i++) { if (Children[i].nodeType!=1) continue; if (Children[i] === Child) return true; if (hasSpecifiedChild(Children[i],Child)) return true; } return false; } </script><script type="text/javascript" charset="utf-8"> function onImgBigClose(Node) { if (Node) Node.parentNode.removeChild(Node); } function onImgBigShow(Node) { if (!Node) return; var strImgSrc=Node.getAttribute("big-src"); if (!strImgSrc) { strImgSrc=Node.getAttribute("src");if (!strImgSrc) return; if (nodeHasClass(Node,"big")) { var p=strImgSrc.lastIndexOf(".");if (p<=0) return; strImgSrc=strImgSrc.slice(0,p)+"_big"+strImgSrc.slice(p); } } var strImgAlt=Node.getAttribute("title"); if (!strImgAlt) {strImgAlt=Node.getAttribute("alt");} var ImgModal=document.createElement("div");if (!ImgModal) return; ImgModal.className="img-big-modal"; ImgModal.id="img-big-modal"; var ImgClose=document.createElement("span"); var ImgImg=document.createElement("img"); var ImgCaption=document.createElement("div"); if (!ImgClose || !ImgImg || !ImgCaption) return; ImgClose.innerHTML="×"; ImgClose.onclick = function(){onImgBigClose(this.parentNode);} ImgModal.appendChild(ImgClose); ImgImg.setAttribute("src",strImgSrc); ImgModal.appendChild(ImgImg); if (strImgAlt) {ImgCaption.innerText=strImgAlt;} ImgModal.appendChild(ImgCaption); if (ImgModal.addEventListener) { ImgModal.addEventListener('mouseup',function(e) { var Trg=e.target;if (!Trg) return; var ImgModal=document.getElementById('img-big-modal');if (!ImgModal) return; if (Trg === ImgModal) onImgBigClose(ImgModal); }); } var InsertBefore=Node.nextSibling; if (InsertBefore) {Node.parentNode.insertBefore(ImgModal,InsertBefore);} else {Node.parentNode.appendChild(ImgModal);} } function onImgBigShowInit() { var aImgBig = nodeFindChildren(document,'img.big'); aImgBig = aImgBig.concat(nodeFindChildren(document,'img.rsz')); for(var i=0;i<aImgBig.length;i++) {aImgBig[i].onclick = function(){onImgBigShow(this);};} if (document.addEventListener) { document.addEventListener('keyup',function(e) { if (e.keyCode != 27) return; onImgBigClose(document.getElementById('img-big-modal')); }); } } </script> </head> <body> <div id="root"> <div> <div style="overflow-x:hidden;"> <div id="hdr-wrapper" class="hdr-wrapper"> <div id="hdr-hdr" class="section hdr-hdr"> <div class="hdr-logo"> <a href="https://www.r-tt.com/" title="R-Tools Technology Inc."> <img src="/images/nav/rtt-logo.png" alt="R-Tools Technology Inc." width="225" height="85" /> </a> </div> <div class="hdr-search-container"> <form class="hdr-search-form" name="search_form" action="/scripts/search" method="post" onsubmit="return doSearch(document.search_form)"> <input type="hidden" name="config" value="../../../r-tt/private/config/ssserver.en" /> <div class="hdr-search-row"> <span class="hdr-search-icon" onclick="doSearch(document.search_form)"></span> <input type="text" name="QUERY" class="hdr-search-input" value="Search..." onfocus="onSearchFocus(document.search_form)" /> </div> </form> </div> <script type="text/javascript" charset="utf-8"> function onSearchFocus(F) { if (F.QUERY.value == "Search...") { F.QUERY.value=""; F.QUERY.style.color = "#404040"; } return true; } function doSearch(F) { if (F.QUERY.value == "Search...") {F.QUERY.value="";} if (F.QUERY.value == "") {alert("Please specify search pattern");F.QUERY.focus();return false;} return true; } </script> <div class="hdr-info"> <div> We are committed to providing fast, efficient, and affordable software solutions that set new standards in the software development industry. </div> </div> <div class="clearwoflex"></div> <div class="hdr-langs"> <div class="langs-block"> <div class="langs-btn"> <div class="langs-cur-flag"> <img width="51" height="29" alt="" src="/images/lang/en.png"/> </div> <span class="langs-sel"></span> </div> <div class="langs-list"> <a href="https://www.r-studio.com/de/lineares-Imaging-vs-laufzeit-Imaging-vs-multipass-imaging.html"> <img src="/images/lang/de.png" width="51" height="29" alt="" /> <span>Deutsch</span> </a> <a href="https://www.r-studio.com/fr/imagerie-a-passages-multiples-vs-lineaire-vs-en-temps-reel.html"> <img src="/images/lang/fr.png" width="51" height="29" alt="" /> <span>Français</span> </a> <a href="https://www.r-studio.com/it/imaging-lineare-vs-imaging-runtime-vs-imaging-multi-pass.html"> <img src="/images/lang/it.png" width="51" height="29" alt="" /> <span>Italiano</span> </a> <a href="https://www.r-studio.com/es/Imagenes-lineales-frente-a-imagenes-en-tiempo-de-ejecucion-frente-a-imagenes-de-varias-pasadas.html"> <img src="/images/lang/es.png" width="51" height="29" alt="" /> <span>Español</span> </a> <a href="https://www.r-studio.com/pt/Comparacao-entre-criacao-de-imagens-lineares-imagens-multi-passagem-e-imagens-runtime.html"> <img src="/images/lang/pt.png" width="51" height="29" alt="" /> <span>Português</span> </a> <a href="https://www.r-studio.com/nl/LinearImaging-versus-RuntimeImaging-versus-MultiPassImaging.html"> <img src="/images/lang/nl.png" width="51" height="29" alt="" /> <span>Nederlands</span> </a> <a href="https://www.r-studio.com/pl/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html"> <img src="/images/lang/pl.png" width="51" height="29" alt="" /> <span>Polski</span> </a> <a href="https://www.r-studio.com/ko/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html"> <img src="/images/lang/ko.png" width="51" height="29" alt="" /> <span>한국어</span> </a> <a href="https://www.r-studio.com/ru/sozdanie-obrazov-lineynoe-realnoe-vremya-mnogoprohodonoe.html"> <img src="/images/lang/ru.png" width="51" height="29" alt="" /> <span>Русский</span> </a> </div> </div> </div> <div class="hdr-menu"> <div class="menu-container" id="menu-container"> <span class="menu-button"> <span class="menu-button-open"></span> <span class="menu-button-close"></span> </span> <a href="https://www.r-tt.com/" class="menu-logo" title="R-Tools Technology Inc."> <img src="/images/nav/rtt-logo.png" alt="R-Tools Technology Inc." width="225" height="85" /> </a> <ul class="menu-main" id="menu-main"> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> PRODUCTS <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-title"> FREEWARE </div> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-undelete.com/">R-Undelete Home</a> </li> <li> <a href="https://www.r-undelete.com/free_photo_recovery/">R-Photo</a> </li> <li> <a href="https://www.r-studio.com/free-linux-recovery/">R-Linux</a> </li> <li> <a href="https://www.r-wipe.com/#lite">R-Wipe & Clean Lite</a> </li> </ul> </div> </div> <div class="menu-dd-cont"> <div class="menu-dd-title"> FOR COMMERCIAL USE </div> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-studio.com/Data_Recovery_Technician.shtml"> R-Studio Technician for Data Recovery Services </a> </li> <li> <a href="https://www.drive-image.com/Drive_Image_Licensing.shtml#commercial"> R-Drive Image for Backup and Deployment Services </a> </li> </ul> </div> </div> <div class="menu-dd-cont"> <div class="menu-dd-title"> FOR PERSONAL AND BUSINESS USE </div> <div class="menu-dd-items"> <div class="menu-dd-cols"> <div class="menu-dd-col-title"> <a href="https://www.r-studio.com/data-recovery-software/"> PRO Data Recovery: </a> </div> <div class="menu-dd-col-ul"><ul class="menu-dd-ul"> <li> <a href="https://www.r-studio.com/">R-Studio for Windows</a> </li> <li> <a href="https://www.r-studio.com/data_recovery_macintosh/">R-Studio for Mac</a> </li> <li> <a href="https://www.r-studio.com/data_recovery_linux/">R-Studio for Linux</a> </li> </ul></div> <div class="clearthis"></div> </div> <div class="menu-dd-cols"> <div class="menu-dd-col-title"> Backup and System Restore: </div> <div class="menu-dd-col-ul"><ul class="menu-dd-ul"> <li> <a href="https://www.drive-image.com/">R-Drive Image</a> </li> <li> <a href="https://www.drive-image.com/Drive_Image_Licensing.shtml#technician">R-Drive Image Technician</a> </li> </ul></div> <div class="clearthis"></div> </div> <div class="menu-dd-cols"> <div class="menu-dd-col-title"> PC Privacy and Security: </div> <div class="menu-dd-col-ul"><ul class="menu-dd-ul"> <li> <a href="https://www.r-wipe.com/">R-Wipe & Clean</a> </li> <li> <a href="https://www.r-wipe.com/#mac">R-Wipe & Clean for Mac</a> </li> </ul></div> <div class="clearthis"></div> </div> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> <span class="alt-tr-ru-1">BUY ONLINE</span> <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-tt.com/VolumeLicensing.shtml" class="alt-tr-ru-1">Quote</a> </li> <li> <a href="https://www.r-tt.com/GetInvoice.shtml">Get Invoice</a> </li> <li> <a href="https://www.r-tt.com/FAQ.shtml">Sales FAQ</a> </li> <li> <a href="https://www.r-tt.com/BuyOnLine.shtml">Sales Policy</a> </li> </ul> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> SUPPORT <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-tt.com/TechnicalSupport.shtml">Technical Support</a> </li> <li> <a href="https://www.r-tt.com/PurchasingRequest.shtml">Customer Support</a> </li> <li> <a href="https://www.r-studio.com/File_Recovery_FAQ.shtml">FAQ</a> </li> <li> <a href="https://www.r-tt.com/Knowledge-Base.html">Knowledge Base</a> </li> <li> <a rel="noopener" target="_blank" href="https://forum.r-tt.com/">R-TT Forum</a> </li> </ul> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-left"></span> DISTRIBUTION <span class="menu-icon-right"></span> </span> <div class="menu-dd"> <div class="menu-dd-cont"> <div class="menu-dd-items"> <ul class="menu-dd-ul"> <li> <a href="https://www.r-tt.com/Affiliate_Program.shtml">Affiliate Program</a> </li> <li> <a href="https://www.r-tt.com/Resellers.shtml">Resellers</a> </li> <li> <a href="https://www.r-tt.com/Distribution.shtml">Regional Distributors</a> </li> <li> <a target="_blank" rel="noopener" href="https://secure.r-tt.com/distributor/login/">Login</a> </li> </ul> </div> </div> </div> </div></li> <li class="menu-item"><div class="menu-item-wrap"> <span class="menu-title"> <span class="menu-icon-spare"></span> <a href="https://secure.r-tt.com/UserConsole.shtml">MY ORDER</a> </span> </div></li> </ul> </div> </div> <div class="clearwoflex"></div> </div> </div> <div> <div class="row-blue row-section"><div class="section"><ul class="page-title"> <li> <div class="page-title-main"> Linear Imaging vs Runtime Imaging vs Multi-Pass Imaging </div></li> </ul></div></div> <div class="row-section page-height-info"><div class="section"> <div class="social-share"> <a target="_blank" href="https://www.facebook.com/sharer.php?u=https://www.r-studio.com/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html" title="Share on Facebook"><img src="/images/social/fb-share32.png"/></a> <a target="_blank" href="https://twitter.com/intent/tweet?url=https://www.r-studio.com/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html&text=Linear%20Imaging%20vs%20Runtime%20Imaging%20vs%20Multi-Pass%20Imaging" title="Share on Twitter"><img src="/images/social/tw-share32.png"/></a> <a target="_blank" href="http://pinterest.com/pin/create/button/?url=https://www.r-studio.com/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html&description=Linear%20Imaging%20vs%20Runtime%20Imaging%20vs%20Multi-Pass%20Imaging" title="Share on Pinterest"><img src="/images/social/pt-share32.png"/></a> <a target="_blank" href="http://www.reddit.com/submit?url=https://www.r-studio.com/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html&title=Linear%20Imaging%20vs%20Runtime%20Imaging%20vs%20Multi-Pass%20Imaging" title="Share on Reddit"><img src="/images/social/reddit-share32.png"/></a> </div> <p class="text"> R-Studio Technician supports three types of object images: </p> <ul class="green"> <li><b><a rel="noopener" target="_blank" href="https://www.r-studio.com/Unformat_Help/diskimages.html">Linear imaging:</a></b> The drive is read from beginning to end by large blocks of disk sectors. When even one sector in the block appears bad, the entire block is treated as bad and either discarded or read sector-by-sector with significant loss of speed. The entire disk is imaged as a result. It's also possible to scan the drive during its imaging.</li> <li><b><a rel="noopener" target="_blank" href="https://www.r-studio.com/runtime-drive-imaging.html">Runtime imaging:</a></b> R-Studio Technician writes data obtained from the source object to the target object in parallel to other actions, including the opening of partitions, disk scanning, etc. All further access to the read data is performed from the target object. Only the necessary disk areas are imaged as a result.</li> <li><b><a rel="noopener" target="_blank" href="https://www.r-studio.com/Multipass-imaging-damaged-drives.html">Multi-pass imaging:</a></b> The data is read in several phases while trying to process good sectors first and saving the slow or <a rel="noopener" target="_blank" href="https://www.r-studio.com/What-are-Bad-Sectors.html">bad sectors</a> for later. The maximum amount of good data is imaged as a result. If there are no bad sectors on the disk, it works like linear imaging. Drive scan is also possible during this imaging.</li> </ul> <p class="text"> The following Table presents the advantages and disadvantages of these imaging types and our recommendations. </p> <table style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="5" cellspacing="0"> <tr> <td style="border:solid windowtext 1.0pt" valign="top"> </td> <td style="border:solid windowtext 1.0pt" valign="top"> Linear </td> <td style="border:solid windowtext 1.0pt" valign="top"> Runtime </td> <td style="border:solid windowtext 1.0pt" valign="top"> Multi-pass </td> </tr> <tr> <td style="border:solid windowtext 1.0pt" valign="top"> Advantages </td> <td style="border:solid windowtext 1.0pt" valign="top"> Fast for healthy drives. Drives can be scanned during their imaging. </td> <td style="border:solid windowtext 1.0pt" valign="top"> Very fast: it images only those drive areas that are necessary to recover required files.<br/> You may start file recovery immediately in parallel with disk imaging. </td> <td style="border:solid windowtext 1.0pt" valign="top"> Fast for healthy drives. Drives can be scanned during their imaging.<br/> All problem areas are processed and all accessible data is extracted for faulty drives. </td> </tr> <tr> <td style="border:solid windowtext 1.0pt" valign="top"> Drawbacks </td> <td style="border:solid windowtext 1.0pt" valign="top"> Slow for faulty drives. May get stuck on large bad block areas. </td> <td style="border:solid windowtext 1.0pt" valign="top"> Images are incomplete. </td> <td style="border:solid windowtext 1.0pt" valign="top"> Slow for faulty drives. It's necessary to wait for the imaging process to complete to proceed with further data recovery. </td> </tr> <tr> <td style="border:solid windowtext 1.0pt" valign="top"> Recommendations </td> <td style="border:solid windowtext 1.0pt" valign="top"> Use it only for knowingly healthy drives. </td> <td style="border:solid windowtext 1.0pt" valign="top"> Use it for fast recovery. </td> <td style="border:solid windowtext 1.0pt" valign="top"> The best choice for all drives. If the drive is healthy, multi-pass imaging works like linear imaging. If there are some or many bad sectors on the drive, they will be processed accordingly. </td> </tr> </table> </div></div> <div class="row-blue row-section footer-articles"><div class="section"> <div class="articles-items" id="articles-cols"> <div class="bottom-title">Data Recovery Articles</div> <ul class="bottom-col-left"> <li><a href="https://www.r-studio.com/Data_Recovery_Guide.shtml">Data Recovery Guide</a></li> <li><a href="https://www.r-studio.com/Why_RStudio.shtml">Why R-Studio?</a></li> <li><a href="https://www.r-studio.com/Forensic-and-DataRecovery-Business.html">R-Studio for Forensic and Data Recovery Business</a></li> <li><a href="https://www.r-tt.com/r-studioreview_toptenreviews/">R-STUDIO Review on TopTenReviews</a></li> <li><a href="https://www.r-studio.com/SSD_Recovery.html">File Recovery Specifics for SSD devices</a></li> <li><a href="https://www.r-studio.com/How-to-recover-NVMe-device.html">How to recover data from NVMe devices</a></li> <li><a href="https://www.r-studio.com/Success-of-File-Recovery.html">Predicting Success of Common Data Recovery Cases</a></li> <li><a href="https://www.r-studio.com/Recovery_Overwritten_Data.html">Recovery of Overwritten Data</a></li> <li><a href="https://www.r-studio.com/Emergency_File_Recovery.shtml">Emergency File Recovery Using R-Studio Emergency</a></li> <li><a href="https://www.r-studio.com/RAID_Recovery_Presentation.shtml">RAID Recovery Presentation</a></li> <li><a href="https://www.r-studio.com/RStudio_BrokenComputer.shtml">R-Studio: Data recovery from a non-functional computer</a></li> <li><a href="https://www.r-studio.com/File_Recovery_from_a_Computer_that_Wont_Boot.shtml">File Recovery from a Computer that Won't Boot</a></li> <li><a href="https://www.r-studio.com/Clone_Disks_Before_File_Recovery.shtml">Clone Disks Before File Recovery</a></li> <li><a href="https://www.r-studio.com/Video_Recovery.shtml">HD Video Recovery from SD cards</a></li> <li><a href="https://www.r-studio.com/File_Recovery_from_Unbootable_Mac.shtml">File Recovery from an Unbootable Mac Computer</a></li> <li><a href="https://www.r-studio.com/best-file-recovery-mac-system-disk.shtml">The best way to recover files from a Mac system disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_From_Encrypted_Linux_Disk.shtml">Data Recovery from an Encrypted Linux Disk after a System Crash</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_From_DMG_Files.shtml">Data Recovery from Apple Disk Images (.DMG files)</a></li> <li><a href="https://www.r-studio.com/File_Recovery_after_Reinstalling_Windows.shtml">File Recovery after Re-installing Windows</a></li> <li><a href="https://www.r-studio.com/DataRecovery_over_Network.shtml">R-Studio: Data Recovery over Network</a></li> <li><a href="https://www.r-studio.com/RStudio_Network_Package.shtml">How To Use R-Studio Corporate Package</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Reformat_NTFS.shtml">Data Recovery from a Re-Formatted NTFS Disk</a></li> <li><a href="https://www.r-studio.com/ReFS-recovery.html">Data Recovery from an ReFS disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Reformat_exFAT.shtml">Data Recovery from a Re-Formatted exFAT/FAT Disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Erase_HFS.shtml">Data Recovery from an Erased HFS Disk</a></li> <li><a href="https://www.r-studio.com/data-recovery-after-erase-APFS.html">Data Recovery from an Erased APFS Disk</a></li> <li><a href="https://www.r-studio.com/Data_Recovery_After_Reformat_Ext4FS.shtml">Data Recovery from a Re-Formatted Ext2/3/4FS Disk</a></li> <li><a href="https://www.r-studio.com/XFS-recovery.html">Data Recovery from an XFS Disk</a></li> <li><a href="https://www.r-studio.com/NAS_Data_Recovery.shtml">Data Recovery from a Simple NAS</a></li> <li><a href="https://www.r-studio.com/connect-virtual-raid-to-operating-system.html">How to connect virtual RAID and LVM/LDM volumes to the operating system</a></li> </ul> <ul class="bottom-col-right"> <li><a href="https://www.r-studio.com/ntfs-recovery-after-quick-format.html">Specifics of File Recovery After a Quick Format</a></li> <li><a href="https://www.r-studio.com/data-recovery-after-partition-manager-crash.html">Data Recovery After Partition Manager Crash</a></li> <li><a href="https://www.r-studio.com/file-recovery-vs-file-repair.html">File Recovery vs. File Repair</a></li> <li><a href="https://www.r-studio.com/data-recovery-from-virtual-machines.html">Data Recovery from Virtual Machines</a></li> <li><a href="https://www.r-studio.com/Connect-Disks-to-Computer.html">How to Connect Disks to a Computer</a></li> <li><a href="https://www.r-studio.com/emergency-data-recovery-over-network.html">Emergency Data Recovery over Network</a></li> <li><a href="https://www.r-studio.com/data-recovery-over-the-internet.html">Data Recovery over the Internet</a></li> <li><a href="https://www.r-studio.com/creating-custom-file-type-r-studio.html">Creating a Custom Known File Type for R-Studio</a></li> <li><a href="https://www.r-studio.com/finding-raid-parameters.html">Finding RAID parameters</a></li> <li><a href="https://www.r-studio.com/recovering-partitions-on-damaged-disk.html">Recovering Partitions on a Damaged Disk</a></li> <li><a href="https://www.r-studio.com/remote-recovery-nat-firewall-traversal.html">NAT and Firewall Traversal for Remote Data Recovery </a></li> <li><a href="https://www.r-studio.com/external-disk-recovery.html">Data Recovery from an External Disk with a Damaged File System</a></li> <li><a href="https://www.r-studio.com/file-recovery-basics.html">File Recovery Basics</a></li> <li><a href="https://www.r-studio.com/macos-raid-recovery-parameters.html">Default Parameters of Software Stripe Sets (RAID 0) in Mac OS X</a></li> <li><a href="https://www.r-studio.com/vhd-disk-recovery.html">Data Recovery from Virtual Hard Disk (VHD/VHDX) Files</a></li> <li><a href="https://www.r-studio.com/encrypted-disks-recovery.html">Data Recovery from Various File Container Formats and Encrypted Disks</a></li> <li><a href="https://www.r-studio.com/automatic-raid-detection.html">Automatic RAID Parameter Detection</a></li> <li><a href="https://www.r-studio.com/data_recovery_technology.html">IntelligentScan Data Recovery Technology</a></li> <li><a href="https://www.r-studio.com/Multipass-imaging-damaged-drives.html">Multi-pass imaging in R-Studio</a></li> <li><a href="https://www.r-studio.com/runtime-drive-imaging.html">Runtime Imaging in R-Studio</a></li> <li><a href="https://www.r-studio.com/LinearImaging-vs-RuntimeImaging-vs-MultiPassImaging.html">Linear Imaging vs Runtime Imaging vs Multi-Pass Imaging</a></li> <li><a href="https://www.r-studio.com/USB-Stabilizer-for-unstable-drives.html">USB Stabilizer Tech for unstable USB devices</a></li> <li><a href="https://www.r-studio.com/improve-pc3000-data-analysis.html">Joint work of R-Studio and PC-3000 UDMA hardware</a></li> <li><a href="https://www.r-studio.com/HDDSuperClone-drive-imaging.html">Joint work of R-Studio and HDDSuperClone</a></li> <li><a href="https://www.r-studio.com/pro-data-recovery-and-forensic-for-small-business.html">R-Studio T80+ - A Professional Data Recovery and Forensic Solution for Small Business and Individuals Just for 1 USD/day</a></li> </ul> <div class="clearthis"></div> <ul class="bottom-col-left"> <li class="bottom-title">Backup Articles</li> <li><a href="https://www.drive-image.com/r-drive-image-license-transfer.html">R-Drive Image Standalone and Corporate license transferring</a></li> <li><a href="https://www.drive-image.com/fixing-Windows-update-error-0x80070643.html">Fixing Windows update error 0x80070643 with R-Drive Image</a></li> <li><a href="https://www.drive-image.com/backup_software.shtml">Backup with Confidence</a></li> <li><a href="https://www.drive-image.com/Free-Partition-Manager.html">R-Drive Image as a free powerful partition manager</a></li> <li><a href="https://www.drive-image.com/Computer_Recovery_and_System_Restore.shtml">Computer Recovery and System Restore</a></li> <li><a href="https://www.drive-image.com/Disk_Cloning_and_Mass_System_Deployment.shtml">Disk Cloning and Mass System Deployment</a></li> <li><a href="https://www.drive-image.com/imaged-disk-access.html">Accessing Individual Files or Folders on a Backed Up Disk Image</a></li> <li><a href="https://www.drive-image.com/How-to-use-Startup-Bootable-version.html">R-Drive Image startup / bootable version</a></li> <li><a href="https://www.drive-image.com/backup-files-personal-computers-laptops-of-home-self-employed-users.html">File Backup for Personal Computers and Laptops of Home and Self-Employed Users</a></li> <li><a href="https://www.drive-image.com/data-backup-plan.html">Creating a Data Consistent, Space Efficient Data Backup Plan for a Small Business Server</a></li> <li><a href="https://www.drive-image.com/how-move-installed-Windows-from-HDD-to-SSD.html">How to Move the Already Installed Windows from an Old HDD to a New SSD Device and Create a Hybrid Data Storage System</a></li> <li><a href="https://www.drive-image.com/Moving-Windows-to-New-SSD.html">How to Move an Installed Windows to a Larger Disk</a></li> <li><a href="https://www.drive-image.com/Moving-BitLocker-System-Disk-to-New-Device.html">How to Move a BitLocker-Encrypted System Disk to a New Storage Device</a></li> <li><a href="https://www.drive-image.com/Disk-Backup-Mac-Linux.html">How to backup and restore disks on Linux and Mac computers using R-Drive Image</a></li> </ul> <ul class="bottom-col-right"> <li class="bottom-title">Undelete Articles</li> <li><a href="https://www.r-undelete.com/Get_Deleted_Files_Back/">Get Deleted Files Back</a></li> <li><a href="https://www.r-undelete.com/free_photo_recovery/SD-card-recovery.html">Free Recovery from SD and Memory cards</a></li> <li><a href="https://www.r-undelete.com/free_photo_recovery/undelete-HD-video.html">R-Undelete: Video Recovery</a></li> <li><a href="https://www.r-undelete.com/Damaged_File_System.shtml">Recovery from an External Device with a Damaged File System</a></li> <li><a href="https://www.r-undelete.com/File_Recovery_From_Non-Functional_Computer.shtml">File recovery from a non-functional computer</a></li> <li><a href="https://www.r-undelete.com/Free_File_Recovery_from_Android_Phone_Memory_Card.html">Free File Recovery from an Android Phone Memory Card</a></li> <li><a href="https://www.r-undelete.com/free_photo_recovery/how-to-tutorial/">Free Photo and Video File Recovery Tutorial</a></li> <li><a href="https://www.r-undelete.com/easy-file-recovery-in-three-steps.html">Easy file recovery in three steps</a></li> </ul> <div class="clearthis"></div> <div class="bottom-title">PC Privacy Articles</div> <ul class="bottom-col-left"> <li><a href="https://www.r-wipe.com/computer-privacy-and-identity-theft-protection.html">Computer Privacy and Identity Theft Protection</a></li> <li><a href="https://www.r-wipe.com/disk-cleanup.html">Disk Cleanup: How to free up disk space</a></li> <li><a href="https://www.r-wipe.com/clear-browsers-cache-history.html">Clear Browser Cache, History, and Other Data</a></li> <li><a href="https://www.r-wipe.com/bulk-file-delete-registry-cleaning.html">Wipe lists in R-Wipe&Clean</a></li> <li><a href="https://www.r-wipe.com/maintain-computer-privacy-SSD-storage-device.html">SSD Storage Devices and Computer Privacy</a></li> </ul> <div class="clearthis"></div> </div> <div class="articles-more-container"><span class="articles-more" id="articles-more"></span></div> </div></div> <script type="text/javascript" charset="utf-8"> function onArticlesMore(el) { var cols=document.getElementById("articles-cols"); var more=document.getElementById("articles-more"); if (cols && more) { nodeSwitchClass(cols,"articles-full"); nodeSwitchClass(more,"articles-full"); } } function onArticlesInit() { var more=document.getElementById("articles-more"); if (more) {more.onclick = function(){onArticlesMore(this);};} } </script> <div class="row-blue row-section"><div class="section reviews-col reviews-one"> <div class="bottom-col-right"> <div class="feedbacks-header"> <div class="bottom-title"> Data Recovery Feedback </div> <div class="feedbacks-meta"> <span itemscope itemtype="http://schema.org/LocalBusiness"> <meta itemprop="name" content="www.r-studio.com"> <meta itemprop="url" content="https://www.r-studio.com"> <meta itemprop="description" content="System Utilities - File recovery and Data Recovery Software, Mail recovery, Undelete, Drive Image, Disk Cleaning, Data Undelete, Security tools for Windows, Mac and Linux, R-Tools Technology Inc."> <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <span itemprop="reviewCount">372</span> <a href="/data-recovery-feedback/">feedbacks</a> <br /> Rating: <span itemprop="ratingValue">4.8</span> / <span itemprop="bestRating">5</span> <meta itemprop="worstRating" content = "1"> </span> <meta itemprop="telephone" content="(888) 978-8266"> </span> </div> </div> <div class="feedbacks-wrapper clearfix"> <div class="feedbacks-right"> <a href="https://www.r-tt.com/Feedback.shtml?product=Data%20Recovery" title="Add your input"> <span class="btn-add-big btn-add-white"></span> </a> </div> <div class="feedbacks-left jhscroll-container"> <div class="jhscroll-area feedbacks-scroll-area"><div> <div class="feedbacks-items"> <div class="feedbacks-item"> <div class="feedbacks-text"><div> I have used R-studio with USB Stabilizer,Rapid-spar,Deep spar, Pc3000, MRT.I am thoroughly satisfied.Now i have made head maps to isolate bad heads of hard disk when used with mounted disks. </div></div> <div class="feedbacks-info"> <span class="feedbacks-rating"> <span></span><span></span><span></span><span></span><span></span> </span> <span class="feedbacks-author"> <a href="/data-recovery-feedback/">Simran Arora (Data recovery factory mumbai)</a> </span> </div> </div> <div class="feedbacks-item"> <div class="feedbacks-text"><div> I was completely lost. My Mac seemed to have eaten my 4TB external USB drive - was formatted APFS encrypted. The volume just disappeared while running and I had to reboot and when it came back the volume could not be unlocked / mounted natively. I tried a whole heap of methods (https://github.com/libyal/libfsapfs/, drat and many others) to no avail. R-Studio data recovery was able to recover the entire volume - a complete life saver, worth every cent! </div></div> <div class="feedbacks-info"> <span class="feedbacks-rating"> <span></span><span></span><span></span><span></span><span></span> </span> <span class="feedbacks-author"> <a href="/data-recovery-feedback/">James Haworth-Wood (EADIT Security Solutions)</a> </span> </div> </div> <div class="feedbacks-item"> <div class="feedbacks-text"><div> I really love your R-Studio product, I am doing Data Recovery as a professional, I used RS since the early versions and I loved the product, as far as I can tell, R-Studio, especially the Tech Version (but including the standard) is one of the best and excellent tools for a pro to have in the arsenal of tools in a pro DR lab, especially combining with the specialized Data Recovery hardware providers like DeepSpar, and PC3000, the rest of `wannabees` out there are waste of time, strongly recommend </div></div> <div class="feedbacks-info"> <span class="feedbacks-rating"> <span></span><span></span><span></span><span></span><span></span> </span> <span class="feedbacks-author"> <a href="/data-recovery-feedback/">Michael Avraham (OmniDataPlus Data recovery and repair)</a> </span> </div> </div> <div class="feedbacks-item"> <div class="feedbacks-text"><div> I lost more than 200K files from my NAS due to a mistake. I tried 3 different recovery solutions over the 4 TB raid disks, and all of them performed ok but to be honest none of them were able to Raw recover the files and rename them with meaningful names out of the Metadata like R-TT did, then I was able to sort again my files and pictures and kind of restore all of them. <br /> <br />R-TT may not be the easiest or most user-friendly solution, but the algorithm used for the renaming saved me THOUSAND of hours of opening ... </div></div> <div class="feedbacks-info"> <span class="feedbacks-rating"> <span></span><span></span><span></span><span></span> </span> <span class="feedbacks-author"> <a href="/data-recovery-feedback/">Cesar reyes</a> </span> </div> </div> <div class="feedbacks-item"> <div class="feedbacks-text"><div> Just recovered my old ext4 partition with R-Studio after trying testdisk and R-Linux without success. That partition was overwritten by another ext4 partition and I was losing my hope until I tried R-Studio demo. It detected all my files and directories again! <br /> <br />Bought it and 100% recommend it for anyone with a similar issue. </div></div> <div class="feedbacks-info"> <span class="feedbacks-rating"> <span></span><span></span><span></span><span></span><span></span> </span> <span class="feedbacks-author"> <a href="/data-recovery-feedback/">Edgar Endo</a> </span> </div> </div> </div> </div></div> <div class="jhscroll-bar"><div></div></div> </div> </div> </div> <script type="text/javascript" charset="utf-8"> function scrollGetArea(Container) { if (!Container) return null; var aAreas=nodeFindChildren(Container,".jhscroll-area");if ((!aAreas)||(aAreas.length!=1)) return null; aAreas=nodeFindDirectChildren(aAreas[0],"div");if ((!aAreas)||(aAreas.length!=1)) return null; return aAreas[0]; } function scrollGetBar(Container) { if (!Container) return null; var aBars=nodeFindChildren(Container,".jhscroll-bar");if ((!aBars)||(aBars.length!=1)) return null; aBars=nodeFindDirectChildren(aBars[0],"div");if ((!aBars)||(aBars.length!=1)) return null; return aBars[0]; } function onScrollScroll(ScrlArea,ScrlBar) { if ((!ScrlArea||!ScrlBar)||(ScrlArea.scrollWidth<=0)) return; var iSizePerc=Math.round(ScrlArea.clientWidth*100/ScrlArea.scrollWidth); if (iSizePerc>100) {iSizePerc=100;} if (iSizePerc<10) {iSizePerc=10;} var iLeftPerc=Math.round(ScrlArea.scrollLeft*100/ScrlArea.scrollWidth); if (iLeftPerc+iSizePerc>100) {iLeftPerc=100-iSizePerc;} ScrlBar.style.left=iLeftPerc.toString()+'%'; ScrlBar.style.width=iSizePerc.toString()+'%'; } function onScrollInit() { var aScrolls=nodeFindChildren(document,".jhscroll-container"); if (!aScrolls||!aScrolls.length) return; for(var i=0;i<aScrolls.length;i++) { var ScrlArea=scrollGetArea(aScrolls[i]);if (!ScrlArea) continue; var ScrlBar=scrollGetBar(aScrolls[i]);if (!ScrlBar) continue; onScrollScroll(ScrlArea,ScrlBar); ScrlBar.ondragstart = function() { return false; }; ScrlBar.onmousedown = function(e) { e = e || window.event; if (e.preventDefault) {e.preventDefault();} else {e.returnValue=false;} var ThisBar=this;if (!ThisBar) return; var ThisBarParent=ThisBar.parentNode;if (!ThisBarParent) return; var iBarWidth=ThisBar.offsetWidth; var iBarParent=ThisBarParent.offsetWidth; if (iBarWidth>=iBarParent) return; var ThisScroll=nodeFindParent(ThisBar,".jhscroll-container"); var ThisArea=scrollGetArea(ThisScroll);if (!ThisArea) return; var iOrigX=e.clientX;var iOrigLeft=ThisBar.offsetLeft;var iLastPerc=-1; document.onmousemove = function(e) { e = e || window.event; var iNewLeft=iOrigLeft+e.clientX-iOrigX; if (iNewLeft<0) {iNewLeft=0;} if (iNewLeft+iBarWidth>iBarParent) {iNewLeft=iBarParent-iBarWidth;} var iBarLeftPerc=Math.round(iNewLeft*100/ThisBarParent.offsetWidth); if (iBarLeftPerc==iLastPerc) return false; iLastPerc=iBarLeftPerc; ThisBar.style.left=iBarLeftPerc.toString()+'%'; var iAreaWidth=ThisArea.scrollWidth; var iAreaWindow=ThisArea.clientWidth; if (iAreaWindow>=iAreaWidth) return; ThisArea.scrollLeft=Math.round((iNewLeft/(iBarParent-iBarWidth))*(iAreaWidth-iAreaWindow)); return false; } document.onmouseup = function() { document.onmousemove = null; document.onmouseup = null; } } ScrlArea.onscroll=function() { var ThisScroll=nodeFindParent(this,".jhscroll-container"); var ThisBar=scrollGetBar(ThisScroll);if (!ThisBar) return; onScrollScroll(this,ThisBar); } } } onScrollInit(); </script> </div></div> </div> <div class="ftr-footer-wrapper"> <div class="section ftr-footer"> <div class="footer-wdir"> <ul class="footer-wdir-ul"> <li><a href="https://www.r-tt.com/technology-articles/">Technology articles</a></li> <li><a href="https://www.r-tt.com/Glossary.html">Glossary</a></li> <li><a href="http://directory.r-tt.com/">Web directory</a></li> </ul> </div> <div class="ftr-social-container"> <div class="social"> <a rel="nofollow noopener" target="_blank" href="https://twitter.com/RTT_Inc" class="social-item" title="Twitter"><span class="social-twitter"></span></a> <a rel="nofollow noopener" target="_blank" href="https://www.facebook.com/pages/R-Tools-Technology-Inc/236155899748769" class="social-item" title="Facebook"><span class="social-facebook"></span></a> <a rel="nofollow noopener" target="_blank" href="http://rtoolstechnology.tumblr.com/" class="social-item" title="Tumblr"><span class="social-tumblr"></span></a> <a rel="nofollow noopener" target="_blank" href="https://rtoolstechnology.wordpress.com/" class="social-item" title="Wordpress"><span class="social-wordpress"></span></a> </div> </div> <div> <ul class="footer-nav"> <li id="nfm_1"><a href="https://www.r-studio.com/Terms_Of_Use.shtml">Terms of Use</a></li> <li id="nfm_2"><a href="https://www.r-studio.com/Privacy_Policy.shtml">Privacy Policy</a></li> <li id="nfm_3"><a target="_blank" href="https://www.r-tt.com/RTTInfo.shtml">Contact Us</a></li> <li id="nfm_4"><a target="_blank" href="https://www.r-tt.com/Feedback.shtml">Feedback</a></li> <li id="nfm_5"><a href="https://www.r-studio.com/SiteMap.shtml">Site Map</a></li> <li id="nfm_6"><a target="_blank" rel="noopener" href="https://forum.r-tt.com/viewforum.php?f=13">R-Studio Forum</a></li> </ul> </div> <div class="clearthis"></div> <div class="footer-copyright"> © Copyright 2000-2024 R-Tools Technology Inc. </div> </div> </div> </div> </div> </div> <script type="text/javascript" charset="utf-8"> function removeMediaQueries() { var minWidth=982; document.body.setAttribute("style","min-width: "+(minWidth+8).toString()+"px;"); var styleSheets = document.styleSheets;if (!styleSheets) return; for (var i = 0;i<styleSheets.length;i++) { var cssRules = styleSheets[i].cssRules;if (!cssRules) continue; for (var j = 0;j<cssRules.length;j++) { if (!(cssRules[j] instanceof CSSMediaRule)) continue; var n=cssRules[j].media.mediaText.indexOf("max-width:");if (n<=0) continue; n=parseInt(cssRules[j].media.mediaText.substring(n+10));if ((n<=0)||(n>minWidth)) continue; cssRules[j].media.mediaText = "(max-width:1px)"; } } } function onFlexDetect() { var fbd_doc = document.body || document.documentElement;var fbd_style = fbd_doc.style; if (!(fbd_style.webkitFlexWrap == '' || fbd_style.msFlexWrap == '' || fbd_style.flexWrap == '' )) { var hdr=document.getElementById("hdr-hdr"); if (hdr) { hdr.className+=" no-flex"; removeMediaQueries(); } } } onFlexDetect(); </script> <script type="text/javascript" charset="utf-8"> function onMenuInit() { if(document.getElementById('menu-main')) { var menu = document.getElementById('menu-main'), menuContainer = document.getElementById('menu-container'), menuItems = nodeFindChildren(menu,'.menu-item'), menuTitle = nodeFindChildren(menu,'.menu-title'), menuBtn = nodeFindChildren(menuContainer,'.menu-button'); // show menu function showMenu() {nodeAddClass(menuContainer,'show-menu');} // hide menu function hideMenu() {nodeDelClass(menuContainer,'show-menu');} // menu button function clickButton(_this) { if(nodeHasClass(_this,'active')) { nodeDelClass(_this,'active'); nodesDelClass(menuItems,'active'); hideMenu(); } else { nodeAddClass(_this,'active'); showMenu(); } }; for(var i=0;i<menuBtn.length;i++) {menuBtn[i].onclick = function(){clickButton(this);};} // click on menu function clickItem(_this) { if(window.innerWidth < 982) { var _par = _this.parentNode; if (nodeHasClass(_par,'menu-item-wrap')) {_par=_par.parentNode;} if(nodeHasClass(_par,'active')) { nodeDelClass(_par,'active'); } else { var Siblings = _par.parentNode.childNodes; for(var i=0;i<Siblings.length;i++) { if ((Siblings[i].nodeType!=1)||(Siblings[i]==_par)) continue; nodeDelClass(Siblings[i],'active'); } nodeAddClass(_par,'active'); } } }; for(var i=0;i<menuTitle.length;i++) {menuTitle[i].onclick = function(){clickItem(this);};} // close adaptive menu on events function closeAdaptiveMenu() { if(nodesHasClass(menuBtn,'active')) { hideMenu(); nodesDelClass(menuBtn,'active'); } if(nodesHasClass(menuItems,'active')) { nodesDelClass(menuItems,'active'); } } // click outside adaptive menu if (document.addEventListener) { document.addEventListener('mouseup', function(e) { if((window.innerWidth < 982) && !(menuContainer === e.target) && !hasSpecifiedChild(menuContainer,e.target) ) { closeAdaptiveMenu(); } }); } // process window resize, for off of open dropdown in case of mobile->desktop if (window.addEventListener) { window.addEventListener('resize', function() { if(window.innerWidth > 982) {closeAdaptiveMenu();} }); }; } } onMenuInit(); </script> <script type="text/javascript" charset="utf-8"> if (typeof onImgBigShowInit !== 'undefined') {onImgBigShowInit();} if (typeof onArticlesInit !== 'undefined') {onArticlesInit();} if (typeof onReviewsInit !== 'undefined') {onReviewsInit();} if (typeof onOsTabsInit !== 'undefined') {onOsTabsInit();} </script> <div id="pp-info"> <ul> <li> We use cookies to ensure you get the best experience on our website. <a href="https://www.r-studio.com/Privacy_Policy.shtml" target="_blank">Read more</a> </li> <li> <a id="pp-done">Got It</a> </li> </ul> <img id="pp-info-0" alt="" /> <img id="pp-info-1" alt="" /> <img id="pp-info-2" alt="" /> <img id="pp-info-3" alt="" /> <img id="pp-info-4" alt="" /> <img id="pp-info-5" alt="" /> </div> <script type="text/javascript" charset="utf-8"> function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i <ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function pingCookie(strId,aDomains,strGif) { for(i=0;i<aDomains.length;i++) { var strImgId=strId+"-"+i; document.getElementById(strImgId).src=aDomains[i]+strGif; document.getElementById(strImgId).style.display = ""; } } </script><script type="text/javascript" charset="utf-8"> var strPpCookie="r_pp_v1"; var strPpDoneGif="r_pp_v1_ji8s9nde.gif"; var aPpDomains=["https://secure.r-tt.com/","https://www.r-tt.com/","https://www.r-studio.com/","https://www.r-undelete.com/","https://www.r-wipe.com/","https://www.drive-image.com/"]; function onPpInfoDone() { document.getElementById("pp-info").style.display = "none"; setCookie(strPpCookie,"1",3650); pingCookie("pp-info",aPpDomains,strPpDoneGif); } function onPpInfoShow() { var pp_cookie = getCookie(strPpCookie); if (pp_cookie == "") {document.getElementById("pp-info").style.display = "block";} } document.getElementById("pp-done").onclick = onPpInfoDone; setTimeout(function(){onPpInfoShow();},1500); </script> <script type="text/javascript" charset="utf-8"> var strSeCookie="r_se_v1"; var strSeDoneGif="r_se_v1_ji8s9nde.gif"; var aSeDomains=["https://www.r-tt.com/","https://www.r-studio.com/","https://www.r-undelete.com/","https://www.r-wipe.com/","https://www.drive-image.com/"]; function onEventInfoDone() { nodeDelClass(document.getElementById("hdr-wrapper"),"special-event") setCookie(strSeCookie,"1",12); pingCookie("pp-info",aSeDomains,stSepDoneGif); } function onEventInfoShow() { var se_cookie = getCookie(strSeCookie); if (se_cookie == "") {nodeAddClass(document.getElementById("hdr-wrapper"),"special-event");} } if (document.getElementById("event-done")) { var iSecurePos=window.location.href.indexOf("secure."); if (iSecurePos<0) { document.getElementById("event-done").onclick = onEventInfoDone; setTimeout(function(){onEventInfoShow();},1000); } } </script> </body></html>