Changes to UEFI variables lost on reboot

I have a Toshiba L855-S5155 laptop which came with Windows 8 preinstalled in UEFI / Secure Boot mode.
I have since successfully installed Ubuntu 13.10. 
My problem is that when I change the UEFI boot variables (such as to delete boot entries or change the boot order), they revert back to their previous values after the system reboots.
Methods:
Attempted to delete extra ubuntu entry in EFI variables.
#sudo efibootmbr -b 4 -B
Result:
#sudo efibootmbr
(No Boot0004 entry listed)
Problem
(Reboot system)
#sudo efibootmbr
(Boot0004 entry has returned)
Miscellaneous:
I have also attempted to use EasyBCD from within Windows 8 to delete this value with similar results.
Solved!
Go to Solution.

I have since found out that the UEFI NVRAM is updated automatically on boot.  I was able to resolve this problem by deleting the ubuntu folder on my efi partition and then putting it back.
I had a similar problem when transitioning to a new hard drive and the drive copy software didn't set the right flags on the new partitions.  After changing the flags the system still wouldn't detect the operating systems until I manually updated the NVRAM using efibootmgr from a Live Linux USB.  After that the bios automatically started recognizing entries in the EFI partitions.  However, I had to boot into a Windows recovery shell and use bcdedit to fix the Windows boot loader.

Similar Messages

  • Per User Crontab lost on reboot

    Hi Guys and Gals;
    I noticed starting sometime in the last few months my user crontabs are being lost on reboot. I have checked that they are not on a tmpfs or other volatile drive. I've searched around but can't find anything that would be causing this.
    Any thoughts would be helpful!

    If you're feeling adventurous, I'd chattr the crontab files themselves. Perhaps even the entire /var/spool/cron/ directory, if only just before doing an update that you suspect may do this.
    If this tactic doesn't have an affect, it'll be strange. Very strange, which we can look into later. It will, however, most likely make the upgrade fail. When this happens you'll at least have a log file that will say which installer/program/thread/whatever failed to make the change. The only other thing that could happen is that after the upgrade you'll see that the files did not change (as expected), and the installer/upgrade completed while keeping your crons.
    The downside, of course, is having to remember to unchatter the files before changing crontabs, then chattring them back.
    https://wiki.archlinux.org/index.php/Fi … attributes

  • (SOLVED) Tvheadend: Configuration lost on reboot

    Hello.
    I managed to configure Tvheadend on my computer and it works great.
    My problem is when the computer restarts: For some reason the settings are lost on reboot and I have to configure everything again every time when I turn the computer on.
    I save the changes when the program is configurated but the computer loses the settings at start.
    Please, help me.
    Last edited by Belgarath (2013-12-25 23:38:22)

    I configured the program from the web interface and I can see the TV channels and the EPG information even from other computers on my network but curiously the program does not create the folder you mention,
    I do not know why that folder is not created and I do not know where it saves the data.
    The .hts folder does not appear anywhere in my home directory: It is not in ~/.hts  and is not in ~/.config/.hts or similar places.
    Should I create  ~/.hts/tvheadend  manually? If so, what should I put in that file?
    Excuse me for my deficient english.

  • HKLM Permissions lost after reboot

    Hello All.
    I have a need to give the Everyone group full control over the root HKLM hive of the registry. I have used the RegEdit GUI and the regini command to grant full control to the Everyone group for the HKLM Key and Subkeys. However, once I reboot the workstation,
    the permissions have reverted back to the original.
    The local administrators group is the owner of the HKLM key, and I am logged in as a member of this group when making the permission changes. I have UAC disabled, and have tried regedt32.exe > Run as Administrator and cmd.exe > Run as Administrator,
    and I can set and confirm the permission changes with error, but the changes are lost after reboot. No AV is installed.
    Does anyone have any clue what I am missing here?
    Thank you in advance!

    Hi,
    I cannot repro such issue on my computer. This should be something wrong during restarting or the admin account.
    If you have any other admin account, please log on with it and try to grant the permission you would like to see what’s going on.
    To make sure that other program reset permission during restarting, please test this issue when booting into Safe mode and let me know the results.
    If the issue still persists in safe mode, please help to collect the boot trace for further research.
    How to collect a good boot trace on Windows 7
    http://blogs.technet.com/b/jeff_stokes/archive/2012/09/17/how-to-collect-a-good-boot-trace-on-windows-7.aspx
    Once down, please upload the .etl file into SkyDrive or Similar ones and share the public link here for our research.
    Keep post.
    Kate Li
    TechNet Community Support

  • Error: "The search cannot be executed because the table has pending changes that would be lost."

    Hello,
    I'm working a developing an OA page that will displays the contents of an Oracle table and allows the user to update records in a table as needed.
    When I hit submit button to save the changes in the update page, the control goes back to main page (where all the table records are displayed). It displays the updated record with the new information.However when I hit "Go" button on the mainPG, I get the error "The search cannot be executed because the table has pending changes that would be lost. and the changes are not committed.
    ANy suggestions on where I should look will be greatly appreciated.
    Posting code for my controller
    =======================
              if ( pageContext.getParameter("saveRate") != null )
              personam.invokeMethod("saveRateToDatabase");
    Code from my AM
    =============
        public void saveRateToDatabase()
          getOADBTransaction().commit();
          System.out.println("40--After commit has been executed");
    Code from my VORowImpl
    ===================
    package cggv.oracle.apps.gl.server;
    import oracle.apps.fnd.framework.server.OAViewRowImpl;
    import oracle.jbo.domain.Date;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.AttributeDefImpl;
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    public class xxCggGlRatesVORowImpl extends OAViewRowImpl {
        public static final int RATEID = 0;
        public static final int FROMCURRENCY = 1;
        public static final int TOCURRENCY = 2;
        public static final int FROMCONVERSIONDATE = 3;
        public static final int TOCONVERSIONDATE = 4;
        public static final int USERCONVERSIONTYPE = 5;
        public static final int CONVERSIONRATE = 6;
        public static final int MODEFLAG = 7;
        /**This is the default constructor (do not remove)
        public xxCggGlRatesVORowImpl() {
        /**Gets the attribute value for the calculated attribute RateId
        public Number getRateId() {
            return (Number) getAttributeInternal(RATEID);
        /**Sets <code>value</code> as the attribute value for the calculated attribute RateId
        public void setRateId(Number value) {
            setAttributeInternal(RATEID, value);
            //populateAttribute(RATEID, value);
        /**Gets the attribute value for the calculated attribute FromCurrency
        public String getFromCurrency() {
            return (String) getAttributeInternal(FROMCURRENCY);
        /**Sets <code>value</code> as the attribute value for the calculated attribute FromCurrency
        public void setFromCurrency(String value) {
            setAttributeInternal(FROMCURRENCY, value);      
        /**Gets the attribute value for the calculated attribute ToCurrency
        public String getToCurrency() {
            return (String) getAttributeInternal(TOCURRENCY);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ToCurrency
        public void setToCurrency(String value) {
            setAttributeInternal(TOCURRENCY, value);
        /**Gets the attribute value for the calculated attribute FromConversionDate
        public Date getFromConversionDate() {
            return (Date) getAttributeInternal(FROMCONVERSIONDATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute FromConversionDate
        public void setFromConversionDate(Date value) {
            setAttributeInternal(FROMCONVERSIONDATE, value);      
        /**Gets the attribute value for the calculated attribute ToConversionDate
        public Date getToConversionDate() {
            return (Date) getAttributeInternal(TOCONVERSIONDATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ToConversionDate
        public void setToConversionDate(Date value) {
            setAttributeInternal(TOCONVERSIONDATE, value);       
        /**Gets the attribute value for the calculated attribute UserConversionType
        public String getUserConversionType() {
            return (String) getAttributeInternal(USERCONVERSIONTYPE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute UserConversionType
        public void setUserConversionType(String value) {
            setAttributeInternal(USERCONVERSIONTYPE, value);
        /**Gets the attribute value for the calculated attribute ConversionRate
        public Number getConversionRate() {
            return (Number) getAttributeInternal(CONVERSIONRATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ConversionRate
        public void setConversionRate(Number value) {
            setAttributeInternal(CONVERSIONRATE, value);
        /**Gets the attribute value for the calculated attribute ModeFlag
        public String getModeFlag() {
            return (String) getAttributeInternal(MODEFLAG);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ModeFlag
        public void setModeFlag(String value) {
            setAttributeInternal(MODEFLAG, value);      
        /**getAttrInvokeAccessor: generated method. Do not modify.
        protected Object getAttrInvokeAccessor(int index,
                                               AttributeDefImpl attrDef) throws Exception {
            switch (index) {
            case RATEID:
                return getRateId();
            case FROMCURRENCY:
                return getFromCurrency();
            case TOCURRENCY:
                return getToCurrency();
            case FROMCONVERSIONDATE:
                return getFromConversionDate();
            case TOCONVERSIONDATE:
                return getToConversionDate();
            case USERCONVERSIONTYPE:
                return getUserConversionType();
            case CONVERSIONRATE:
                return getConversionRate();
            case MODEFLAG:
                return getModeFlag();
            default:
                return super.getAttrInvokeAccessor(index, attrDef);
        /**setAttrInvokeAccessor: generated method. Do not modify.
        protected void setAttrInvokeAccessor(int index, Object value,
                                             AttributeDefImpl attrDef) throws Exception {
            switch (index) {
            case RATEID:
                setRateId((Number)value);
                return;
            case FROMCURRENCY:
                setFromCurrency((String)value);
                return;
            case TOCURRENCY:
                setToCurrency((String)value);
                return;
            case FROMCONVERSIONDATE:
                setFromConversionDate((Date)value);
                return;
            case TOCONVERSIONDATE:
                setToConversionDate((Date)value);
                return;
            case USERCONVERSIONTYPE:
                setUserConversionType((String)value);
                return;
            case CONVERSIONRATE:
                setConversionRate((Number)value);
                return;
            case MODEFLAG:
                setModeFlag((String)value);
                return;
            default:
                super.setAttrInvokeAccessor(index, value, attrDef);
                return;
        /**Gets xxCggGlRatesEO entity object.
        public xxCggGlRatesEOImpl getxxCggGlRatesEO() {
            return (xxCggGlRatesEOImpl)getEntity(0);

    Hi,
    Check these links:
    Oracle Apps: Search cannot be executed because the table has pending changes that would be lost
    Re: Getting error in search page search cannot be executed
    http://jneelmani.blogspot.in/2009/11/oaf-search-cannot-be-executed-because.html
    --Sushant

  • "Error:The search cannot be executed because the table has pending changes that would be lost", after DELETE

    Good day,
    On Search Page, I have searched for the record(s) then deleted a record and got confirmation message i.e. Record has deleted. Next when I search for any record I'm getting below error.
    Error
    The search cannot be executed because the table has pending changes that would be lost.
    Could you please help me to fix this issue. Your response is highly appreciated.
    Item properties:
    Item Style : Image
    Action Type: Fire Action
    Event : delete
    Below is the code using in CO and AM
    Controller (processFormRequest):
    if ("delete".equals(pageContext.getParameter(EVENT_PARAM)))
              // The user has clicked a "Delete" icon so we want to display a "Warning"
              // dialog asking if she really wants to delete the employee. Note that we
              // configure the dialog so that pressing the "Yes" button submits to
              // this page so we can handle the action in this processFormRequest( ) method.
              String visit_id = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("last_name") + ", " + pageContext.getParameter("first_name");
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName)};
              OAException mainMessage = new OAException("FND", "XXXX_EMP_DELETE_WARN", tokens);
              // Note that even though we're going to make our Yes/No buttons submit a
              // form, we still need some non-null value in the constructor's Yes/No
              // URL parameters for the buttons to render, so we just pass empty
              // Strings for this.
              OADialogPage dialogPage = new OADialogPage(OAException.WARNING,
                mainMessage, null, "", "");
              // Always use Message Dictionary for any Strings you want to display.
              String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
              String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
              // We set this value so the code that handles this button press is
              // descriptive.
    dialogPage.setOkButtonItemName("DeleteYesButton");
              // The following configures the Yes/No buttons to be submit buttons,
              // and makes sure that we handle the form submit in the originating
              // page (the "Employee" summary) so we can handle the "Yes"
              // button selection in this controller.
    dialogPage.setOkButtonToPost(true);
    dialogPage.setNoButtonToPost(true);
    dialogPage.setPostToCallingPage(true);
              // Now set our Yes/No labels instead of the default OK/Cancel.
    dialogPage.setOkButtonLabel(yes);
    dialogPage.setNoButtonLabel(no);
              // We need to keep hold of the employeeNumber and employeeName.
              // The OADialogPage gives us a convenient means
              // of doing this. Note that the use of the Hashtable is 
              // most appropriate for passing multiple parameters. See the OADialogPage
              // javadoc for an alternative when dealing with a single parameter.
              java.util.Hashtable formParams = new java.util.Hashtable(1);
    formParams.put("visit_id", visit_id);
    formParams.put("empName", employeeName);
    dialogPage.setFormParameters(formParams);
              pageContext.redirectToDialogPage(dialogPage);
        else if (pageContext.getParameter("DeleteYesButton") != null)
              // User has confirmed that she wants to delete this employee.
              // Invoke a method on the AM to set the current row in the VO and
              // call remove() on this row.
              String employeeNumber = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("empName");
              Serializable[] parameters = { employeeNumber };
             // OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("deleteEmployee", parameters);
              // Now, redisplay the page with a confirmation message at the top. Note
              // that the deleteEmployee() method in the AM commits, and our code
              // won't get this far if any exceptions are thrown.
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName) };
              OAException message = new OAException("FND",
                "XXXX_EMP_DELETE_CONFIRM", tokens, OAException.CONFIRMATION, null);
    pageContext.putDialogMessage(message);
    Application Module:
      public void deleteEmployee(String visit_id)
            // First, we need to find the selected employee in our VO.
            // When we find it, we call remove( ) on the row which in turn
            // calls remove on the associated EmployeeEOImpl object.
            int empToDelete = Integer.parseInt(visit_id);
              OAViewObject vo = (OAViewObject)getNonEmployeesSummaryVO1();
        NonEmployeesSummaryVORowImpl row = null;
            // This tells us the number of rows that have been fetched in the
            // row set, and will not pull additional rows in like some of the
            // other "get count" methods.
           int fetchedRowCount = vo.getFetchedRowCount();
            // We use a separate iterator -- even though we could step through the
            // rows without it -- because we don't want to affect row currency.
            RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
              deleteIter.setRangeStart(0);
              deleteIter.setRangeSize(fetchedRowCount);
              for (int i = 0; i < fetchedRowCount; i++)
                row = (NonEmployeesSummaryVORowImpl)deleteIter.getRowAtRangeIndex(i);
                // For performance reasons, we generate ViewRowImpls for all
                // View Objects. When we need to obtain an attribute value,
                // we use the named accessors instead of a generic String lookup.
                // Number primaryKey = (Number)row.getAttribute("EmployeeId");
                Number primaryKey = row.getVisitId();
                if (primaryKey.compareTo(empToDelete) == 0)
                  // This performs the actual delete.
                  row.remove();
                    getTransaction().commit();
                  break; // only one possible selected row in this case
            // Always close the iterator when you're done.
            deleteIter.closeRowSetIterator();
          } // end deleteEmployee
    Thanks,
    Ravi

    Hi
    Check this link Getting error in search page search cannot be executed
    Regards,
    Dilip

  • Action on Change of a variable possible? Fe. in combination of checkbox widget.

    Hello,
    I'm using the checkbox wizard with 35 items from wich the user has to select max. 7 items. The checkbox wizard is a great tool that keeps the choices in user variables.
    Is it possible that  for every (de)selection a choice a counter keeps track of the number of choices and perfoms an action when the status of 7 is reached? Or is there an alternative?
    Lucas

    I have been blogging about the checkboxes widgets, you don't tell the version you are using? Because it has been replaced totally by the Checkboxes Learning interaction in CP8 and its latest version allows also to control what is displayed by changing the associated variables.
    However it remains a static widget, which means that it cannot trigger an action, because it doesn't have events: Events and (advanced) Actions - Captivate blog
    Even if it was an interactive widget, it wouldn't have helped. You will need an interactive object like a button to trigger an advanced (or shared action) that will count the number of variables that have a value different from 'null' Where is Null? - Captivate blog. 
    It will never be possible to trigger an action when the counter reaches 7, because the action will only be executed when the interactive object is clicked.
    Alternative: at this moment I only see to create the radio buttons yourself (use shape buttons) and each button can trigger an advanced/shared (use shared if you are on CP8!) action that will increment a counter and store the choice in a user variable, then (second decision in a conditional action) checks if the counter has reached the value of 7 to give a warning that the allowed number of choices has been reached and eventually disables all the shape buttons. I mention a shared action, because you'll need 32 instances of that action.

  • Change not saved, file lost

    Hello,
    We're using Sharepoint 2013 to manage documents. I was editing a Sharepoint doc in excel and saved my work several times before finishing, however I did not check the doc back in upon completion. Instead, I created a PDF version (makes printing easier),
    saved the PDF file to the same Sharepoint folder, and checked the PDF version in when I was done with it.
    When I went back to the library to check in the excel version of the file, it was showing an older version of the document (from last night). I opened it, and lo and behold none of the changes I had made prior to converting the file to PDF were showing.
    What happened to that file? Like I said, I saved it several times before converting to PDF, yet no copy of the changes exist on Sharepoint or locally. I disconnected from the network, opened excel locally and checked recent documents - it wasn't there. I checked
    my Sharepoint recycle bin - not there. Versioning and publishing are enabled, but I was the only person working on this document. I searched the entirety of my hard drive - not there. I checked the version history - not there (last night's version is the most
    recent).
    I've done this before without issue. Both files (excel and pdf) would show up in the Sharepoint library with all changes. I'm at a complete loss on this and would love/appreciate help in recovering the excel version with all my changes (otherwise I just
    lost 6 hours of work)!
    Timeline of events:
    Last night@7:16PM - Save and check-in excel file.
    This morning@8AM - Open and check out excel file. Make changes and periodic saves along the way.
    Today@2PM - Finish changes, save, create PDF, save PDF, check in PDF version. Go back to library to check in excel version only to find that the version from 7:16PM last night is the latest excel version available.
    Regards,
    KMS
    EDIT: Sharepoint 2013, Office 365, OS: W8.1/64

    Hello Cam,
    Interesting. I'm sure nobody went into site settings and discarded changes.
    I hard refreshed the site; file still not there.
    I'm beginning to think it's IE11. I'm using 64-bit, and don't know how to use the 32-bit version (I'm not very savvy when it comes to this stuff). I have found a few tutorials online but I'm not sure I'm doing it correctly.
    I appreciate all the help so far, Cam. At this point I've spent so much time searching for a solution I could've just redone the work! Ugh.
    EDIT: Is it possible that I accidentally discarded my check out and therefore all my changes to the excel doc went unsaved? If so, wouldn't the fact that I saved my work several times prevent me from losing the changes? I'm so confused at this point!
    It's odd that I have a PDF version of the document that shows ALL the changes that I made - essentially the finished product - and yet the excel document from which said PDF was created is gone!

  • BEx: How to change a Query Variable that is not visible in Filters List?

    Hello Experts,
    Good day, I'm currently editing an old query, I am changing the Query Variables with new ones, but I found one variable that I cannot replace.
    Please see the screenshot below, in the Query Properties Window [Variable Sequence Tab (right side of picture)] the Variable that I am trying to replace (Unit) is visible. But when I look for the variable in the "Filter Tab" (left side of picture) under Characteristic Restrictions, it doesn't exist in the list.
    How can I find this Variable and replace it with a new one?
    Other reports are still using this variable so it will impact the other reports if I simply edit the variable. So I need to replace it with a new variable instead.
    Thank you for your time.

    Hi,
            SInce you are searching for a variable for Unit, look into below screenshot and navigate to the variables.
    First click on drop down and select 'Entry for variable' then you will get lisl (after you click on drop down in 'Target Unit' drop down option.
    Normally these type of variable called 'Formula Variable' try editing any of the formula and locate the option as shown below,
    Hope it helps! don't forget to update the final solution and mark the correct/helpful answers.
    Remember it will help others to find the solution and motivate the members to answer your question.
    Thanks,
    Umashankar

  • Please i need help very urgent !!! after deleting my exchange account because the company changed the password , I lost 150 200 contacts and i need to get them back very soon ! please help

    Please i need help very urgent !!! after deleting my exchange account because the company changed the password , I lost 150 200 contacts and i need to get them back very soon !  i never backed up on itunes ..please help

    No. The contacts are "owned" by the Exchange server.
    The Exchange server is owned by the company.
    Everything on the Exchange server is owned by the company.
    If you quit or were terminated, and your access to the system has been revoked, then there is nothing you and do at this point. Once you deleted the account from your phone, all of the associated data was deleted.
    NEVER store personal information on company systems.

  • How to change the text variables for a standard report-writer report ?

    I am trying to change the text variables for a report -writer report and transport the same so as to change the title page and the report output heading  .I know the Report-Group 6Z02 and the library 6O1 to which it belongs.I tried using the change transaction GR32 after going to the area menu through FGRP . I try to change the text variables through  but it throws an error "You chose a name in the reserved name range - try different name ".
    I have also tried copying this report into another report and changing the new report . I was able to change and save the text variables . Now when I try to overwrite the original report 6Z02-001 with this new report , it does not allow that.
    Let me know how I can change the text variables for the same

    Can anyone please suggest me what to do here ?

  • Essbase server - automatic change of substitution variable from SQL

    Hi,I would like to automaticaly change the substitution variable in Essbase Server. Is it posible to change the substitition variable from external source e.g. SQL statement?Simple sample:I would like to assign value "2003" to "CurYear" substitution variable. But value "2003" I would like to get from SQL:"select year(current date) from table".There are commands in Esscmd and MaxL Shell, see bellow.Esscmd command:CREATEVARIABLE "CurYear" "localhost" "" "" "2003";MaxL Shell:alter system set variable CurYear '2003';Is it possible to get the value '2003' from SQL and pass this value to Esscmd command or MaxL Shell?My system:Windows 2000 Professional Service pack 4Essbase at 6.5.3 levelThanks,Grofaty

    You can create a text file from the SQL server that writes the command like"CREATEVARIABLE "CurrYear" "Servername" "AppName" "DBName" "2005";then you can create a schedule job that would run this script which can update the variable. CREATEVARIABLE creates/replaces the current variable.

  • URL Not Changing Session State Variables Specified

    I am trying to change a variable on a target page with a URL, however, the variable never changes. The variable is set to 8. I send the following URL which should change it to 0 but it does not change.
    We just recently upgraded to 1.6
    Why is this not working. It still works on pages I designed prior to the upgrade, but I can't get it to work since the upgrade.

    I am trying to change a variable on a target page with a URL, however, the variable never changes. The variable is set to 8. I send the following URL which should change it to 0 but it does not change.
    We just recently upgraded to 1.6
    Why is this not working. It still works on pages I designed prior to the upgrade, but I can't get it to work since the upgrade.

  • HT5035 I had to change my id & have lost my gift card balance please help?

    I had to change my id & have lost my gift card balance please help?

    Did you change the Apple ID for an existing account? Or did you create a new Apple ID? If you created a new Apple ID, your balance will still be tied to the old account and you'll have to log into the iTunes Store using that old account to spend the balance. If you changed the ID on an existing account and can no longer see a credit balance, go here:
    http://www.apple.com/support/itunes/contact/
    and follow the instructions to report the issue to the iTunes Store.
    Regards.

  • I swapped my iphone from apple store india and my imei of iphone changed and i have lost the box and bill of phone , how can i get my old imei number.

    I swapped my iphone from apple store india and my imei of iphone changed and i have lost the box and bill of phone , how can i get my old imei number.

    Of course it changed. A phone's IMEI number is unique to each phone. The IMEI number for a phone does not transfer to another phone.
    Since your iPhone was exchanged under warranty without having the box and bill for the original purchase, you don't need it now either. The exchange under warranty remains under the warranty for the original purchase.

Maybe you are looking for